python sftp 업로드(ssh 키 사용)

2583 단어 pythonsftp
처음 일 할 때 쓴 코드 를 지금 돌 이 켜 보면 정말 직시 할 수 없다.
#!/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('#########################################'+'
') a = 'tran id'+ t_id + ' : '+ 'Beginning to Uploading file from %s %s
'%(hostname,datetime.datetime.now()) b = 'tran id'+ t_id + ' : '+ 'Uploading file:'+os.path.join(remote_dir,f)+'file size is 1001M'+'
' 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
' % datetime.datetime.now() b = '##########################################
' loggs(str(a)) loggs(str(b)) t.close() except Exception, e: print "connect error!" print e

좋은 웹페이지 즐겨찾기