天天看點

python下paramiko子產品學習之五:批量主機上傳檔案

    今天我繼續為大家介紹如何利用paramiko子產品給批量主機上傳檔案,其實之前都介紹過了,無非就是把一些零碎的東西拼在一起,呵呵,就是利用python讀取配置檔案裡面的批量主機的IP位址,然後分别給他們上傳檔案,下面不廢話了,直接上代碼了:

[root@centos6 python]# vi paramiko-sftp-mulit-upload.py 

#!/usr/bin/env 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__": 

 #    try: 

        for ip in address: 

                 t=paramiko.Transport((ip,port)) 

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

                 sftp=paramiko.SFTPClient.from_transport(t) 

#                files=sftp.listdir(dir_path) 

                 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)) 

                 t.close() 

下面是config.ini的配置檔案内容:

[IP] 

#ipaddress = 192.168.0.102;192.168.0.103 

ipaddress = 74.63.229.*;69.50.220.* 

   呵呵,感興趣的話,去試驗下吧,代碼都貼出來了,如果前面幾期運作都很很順利的話,這次也沒有問題的,畢竟我都是在我的虛拟機上驗證過的,如果有問題,請留言。。。

本文轉自你是路人甲還是霍元甲部落格51CTO部落格,原文連結http://blog.51cto.com/world77/707081如需轉載請自行聯系原作者

world77