2016-06-08 70 views
0

我想在Digital Ocean和AWS上将文件上传到我的服务器。我可以通过终端使用scp或sftp来做到这一点,但是我想将它自动化并以Python或任何其他编程语言来实现。如果是Python,我应该如何使用sftp客户端将文件上传到服务器? 还有其他的选择吗?如何将文件上传到服务器?

+0

为什么不shell脚本? –

+0

https://pypi.python.org/pypi/scp – MaxNoe

回答

3

您可以使用pysftp包;

import pysftp 

with pysftp.Connection('hostname', username='me', password='secret') as sftp: 
    with sftp.cd('public')    # temporarily chdir to public 
     sftp.put('/my/local/filename') # upload file to public/ on remote 

    sftp.get_r('myfiles', '/backup') # recursively copy myfiles/ to local 

https://pypi.python.org/pypi/pysftp

它还使用的paramiko内部我想这可以用来SSH,SFTP等http://docs.paramiko.org/en/1.17/api/sftp.html

+0

如果我有一个ssh密钥而不是密码? – Sojo

+1

连接时需要添加private_key参数,全部记录在案; http://pysftp.readthedocs.io/en/release_0.2.8/cookbook.html – cdagli

+0

除了sftp以外的其他选项?例如, – Sojo

相关问题