本文共 1311 字,大约阅读时间需要 4 分钟。
今天我继续为大家介绍如何利用paramiko模块给批量主机上传文件,其实之前都介绍过了,无非就是把一些零碎的东西拼在一起,呵呵,就是利用python读取配置文件里面的批量主机的IP地址,然后分别给他们上传文件,下面不废话了,直接上代码了:
- [root@centos6 python]
-
-
- import paramiko
- import os
- import datetime
- from ConfigParser import ConfigParser
- ConfigFile='config.ini'
- config=ConfigParser()
- config.read(ConfigFile)
- hostname1=''.join(config.get('IP','ipaddress'))
- address=hostname1.split(';')
- print address
- username='root'
- password='itpschina123'
- port=22
- local_dir='/tmp/'
- remote_dir='/tmp/test/'
- if __name__=="__main__":
-
- for ip in address:
- t=paramiko.Transport((ip,port))
- t.connect(username=username,password=password)
- sftp=paramiko.SFTPClient.from_transport(t)
-
- files=os.listdir(local_dir)
- print files
- for f in files:
- print '####################################################'
- print 'Begin to upload file to %s ' % ip
- print 'Uploading ',os.path.join(local_dir,f)
-
- print datetime.datetime.now()
- sftp.put(os.path.join(local_dir,f),os.path.join(remote_dir,f))
- print datetime.datetime.now()
- print '####################################################'
- t.close()
下面是config.ini的配置文件内容:
- [IP]
-
- ipaddress = 74.63.229.*;69.50.220.*
呵呵,感兴趣的话,去试验下吧,代码都贴出来了,如果前面几期运行都很很顺利的话,这次也没有问题的,毕竟我都是在我的虚拟机上验证过的,如果有问题,请留言。。。
转载地址:http://paeja.baihongyu.com/