【问题标题】:How to resume file transferring with paramiko如何使用 paramiko 恢复文件传输
【发布时间】:2014-06-19 18:53:57
【问题描述】:

我正在开发一个需要传输文件的 Python 项目。连接的一侧是高度可用的 (REHL 6) 并且始终在线。但是另一端正在打开和关闭(Windows 7)并且无法保证连接期限。文件双向传输,大小在 10MB 到 2GB 之间。

是否可以使用 paramiko 恢复文件传输,而不是从头开始传输整个文件。

我想使用 rSync,但一方面是 windows,我想避免 cwRsync 和 DeltaCopy

【问题讨论】:

    标签: python sftp file-transfer paramiko resume


    【解决方案1】:

    Paramiko 不提供开箱即用的“恢复”功能,但 DeltaCopy 的重要继任者 Syncrify 内置了重试功能,如果备份出现故障,服务器将等待长达六个小时的重新连接。默认情况下非常可靠,易于使用和数据差异。

    【讨论】:

      【解决方案2】:

      paramiko.sftp_client.SFTPClient 包含一个open 函数,其功能与python 内置的open 函数完全相同。
      您可以使用它来打开本地和远程文件,并手动将数据从一个文件传输到另一个文件,同时记录已传输的数据量。当连接中断时,您应该能够使用seek 方法从中断的地方继续(假设第三方未更改任何文件)。 请记住,这种简单的实现可能比 paramiko 的 getput 函数要慢。

      【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-04-26
      • 1970-01-01
      • 2011-05-23
      相关资源
      最近更新 更多