如何使用paramiko恢复文件传输

时间:2014-06-19 18:53:57

标签: python sftp file-transfer paramiko resume

我正在处理一个需要进行文件传输的Python项目。连接的一端是高可用性(REHL 6)并且始终在线。但另一方面正在上下(Windows 7)并且连接期间无法保证。文件在两个方向上传输,大小在10MB到2GB之间。

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

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

2 个答案:

答案 0 :(得分:2)

Paramiko不提供开箱即用的“恢复”功能,但是,SyncCify,DeltaCopy的重要继任者内置了重试,如果备份发生故障,服务器等待最多六个小时才能重新连接。非常可靠,易于使用和默认的数据差异。

答案 1 :(得分:0)

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