【发布时间】:2011-12-07 02:36:49
【问题描述】:
我正在使用 Python 传输(通过 scp)和数据库大量文件。我将文件传输到的其中一台服务器具有奇怪的 ssh 配置规则,以阻止来自单个位置的过多 ssh 请求。这样做的结果是我的 python 脚本,当前循环文件并通过 os.system 复制,在传输了几个文件后挂起。
有没有一种方法可以让 Python 打开 ssh 或其他与服务器的连接,以便传输的每个文件都不需要 ssh 登录实例?
谢谢,
【问题讨论】:
我正在使用 Python 传输(通过 scp)和数据库大量文件。我将文件传输到的其中一台服务器具有奇怪的 ssh 配置规则,以阻止来自单个位置的过多 ssh 请求。这样做的结果是我的 python 脚本,当前循环文件并通过 os.system 复制,在传输了几个文件后挂起。
有没有一种方法可以让 Python 打开 ssh 或其他与服务器的连接,以便传输的每个文件都不需要 ssh 登录实例?
谢谢,
【问题讨论】:
这并不是真正的 python 特定的,但它可能取决于您可以使用哪些库。
您需要一种通过单一连接发送文件的方法。 (不过,这可能更适合超级用户或 severfault.com。)
希望对你有帮助。
【讨论】:
tar xf -,那么您实际上永远不会将 tar 文件存储在任何地方。
您可能想查看paramiko 模块。
有一个使用它的 Copy files over SSH using paramiko 食谱可能会有所帮助。
【讨论】:
在 Python 模块 Paramiko 中查看 SFTP。您可以在一个会话中进行多个文件传输。
【讨论】: