python 某位置写数据_用python跑一边脚本,把数据传到几台服务器的指定位置

创业公司,但也逐渐积累了十多态服务器,有时候因为一点小疏忽,就导致了十多台服务器返工,刚开始会使用ssh一台一台登上去修改,或者scp、sftp一个一个上传,基本上只要发生一点错误,就会花去小半天时间,这不是最重要的,最重要的是,小半天时间都在做一件重复的事:ssh链接 -> 找到文件目录 -> 修改 (或者:scp上传 -> 查看效果 ......)

时间久了,就再也不想这样干了,于是学习了python,写了一段利用scp上传文件的脚本:

引入包: paramiko

引入服务器的配置:from config.server import server_data

添加下面的代码:

#!/usr/bin/python

# -*- coding: UTF-8 -*-

import paramiko

from config.server import server_data # 服务器配置数据

import sys

reload(sys)

sys.setdefaultencoding('utf8')

# 建立单独的scp链接

def trans (hostname, username, password, port, sites):

scp = paramiko.Transport((hostname, port))

scp.connect(username=username, password=password)

sftp = paramiko.SFTPClient.from_transport(scp)

for v in sites:

print v

u = '/host/sites/' + v['domain'] + '/msites/public/images/12124.png' # 文件在服务器中存储的路径

print u

try:

sftp.put('./upload/12124.png', u) # 文件本地存储路径

except Exception as e:

print "Error: %s" % e

pass

sftp.close()

# 执行每个网站

def main ():

i = 0

for data in server_data:

i = i + 1

print i

trans(data['hostname'], data['username'], data['password'], data['port'], data['sites'])

if __name__ == '__main__':

main()

服务器配置:

server_data = [

{

'hostname': '', # 需要填写

'id': , # 需要填写

'username': 'root',

'port': 22, # 需要填写

'password': '', # 需要填写

'sites': [

{

'name': '百度'.decode('utf-8'),

'domain': 'baidu.com',

'alias': 'bd',

'fallname': '百度'.decode('utf-8')

},

{

'name': '百度'.decode('utf-8'),

'domain': 'baidu.com',

'alias': 'bd',

'fallname': '百度'.decode('utf-8')

},

{

'name': '百度'.decode('utf-8'),

'domain': 'baidu.com',

'alias': 'bd',

'fallname': '百度'.decode('utf-8')

},

]

},

{

'hostname': '',

'id': ,

'username': 'root',

'port': 22,

'password': '',

'sites': [

{

'name': '百度'.decode('utf-8'),

'domain': 'baidu.com',

'alias': 'bd',

'fallname': '百度'.decode('utf-8')

},

{

'name': '百度'.decode('utf-8'),

'domain': 'baidu.com',

'alias': 'bd',

'fallname': '百度'.decode('utf-8')

},

{

'name': '百度'.decode('utf-8'),

'domain': 'baidu.com',

'alias': 'bd',

'fallname': '百度'.decode('utf-8')

},

]

}

];

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值