python sftp上传(使用ssh 密钥)

刚工作的时候写的一个代码, 现在回头看,实在不忍直视, po出来试试这个文章

#!/usr/bin/env python  
#sftp auto upload
#author:zhiguo
import paramiko,datetime,os,time
import socks
import socket
hostname='$ip'
username='yt-hunantv2'
#password='abc123'  
port=19321
local_dir='/root/'  
remote_dir='/' 
t_id = str(time.time())

#最简单粗暴最sb的方式写日志
def loggs(content):
    files = '/tmp/'+hostname+'.log'
    f = open(files,'a')
    f.write(content)
    f.close()
try: 
    #socks.setdefaultproxy(socks.PROXY_TYPE_SOCKS5, 'proxy_ip', 3306, True)
    #t=paramiko.Transport((hostname,port))
    #socket.socket = socks.socksocket
    t=paramiko.Transport((hostname,port))
    #t.connect(username=username,password=password)
    #k = paramiko.RSAKey.from_private_key_file(filename=key_file)
    private_key = paramiko.RSAKey.from_private_key_file("/root/.ssh/id_rsa")
    #t.connect(username=username,password='', pkey=private_key)
    t.connect(username=username,pkey=private_key)
    sftp=paramiko.SFTPClient.from_transport(t)
    #files=sftp.listdir(dir_path)          
    #files=sftp.listdir(remote_dir)
    #for f in files:                  
    f="hunantv.ts"
    print ''                  
    print '#########################################'                  
    print 'Beginning to upload file  from %s  %s ' % (hostname,datetime.datetime.now())                
    print 'Downloading file:',os.path.join(remote_dir,f) 
    loggs('#########################################'+'\n')
    a = 'tran id'+ t_id + ' : '+ 'Beginning to Uploading file  from %s  %s \n'%(hostname,datetime.datetime.now())
    b = 'tran id'+ t_id + ' : '+ 'Uploading file:'+os.path.join(remote_dir,f)+'file size is 1001M'+'\n'
    loggs(str(a))
    loggs(str(b))
    #sftp.get(os.path.join(remote_dir,f),os.path.join(local_dir,f))
    fs='abc'
    sftp.put(os.path.join(local_dir,f),os.path.join(remote_dir,f))
    print 'Uploading file success %s ' % datetime.datetime.now()
    print ''                  
    print '##########################################'   
    a = 'tran id'+ t_id + ' : '+ 'Uploading file success %s \n' % datetime.datetime.now()
    b = '########################################## \n'
    loggs(str(a))
    loggs(str(b))
    t.close() 
except Exception, e: 
       print "connect error!"
       print e

你可能感兴趣的:(python,sftp)