python sftp上传_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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值