Python之两台服务器之间通过paramiko传输文件

模块

paramiko – 用于做远程控制的模块,使用该模块可以对远程服务器进行命令或文件操作,fabric和ansible内部的远程管理就是调用paramiko来现实

基于用户名和密码交互式登录

代码

#!/usr/bin/env python  
import paramiko,datetime,os  
hostname='203.0.113.12'  
username='root'  
password='123456'  
port=22  
local_dir='/files/'  
remote_dir='/data/'  
try:  
    t=paramiko.Transport((hostname,port))  
    t.connect(username=username,password=password)  
    sftp=paramiko.SFTPClient.from_transport(t)  
    #files=sftp.listdir(dir_path)  
    files=sftp.listdir(remote_dir)  
    for f in files:  
        print('')  
        print('#########################################')  
        print('Beginning to download file  from %s  %s ' % (hostname,datetime.datetime.now()))  
        print('Downloading file:',os.path.join(remote_dir,f))  
        sftp.get(os.path.join(remote_dir,f),os.path.join(local_dir,f))#下载  
        #sftp.put(os.path.join(local_dir,f),os.path.join(remote_dir,f))#上传  
        print('Download file success %s ' % datetime.datetime.now())  
        print('')  
        print('##########################################')  
    t.close()  
except Exception:  
       print("connect error!")  
上一篇
下一篇