我每天早上都要通过 ftp 跨大西洋传输一些相当大的文件。有时传输会中断,可能是由于连接问题,文件会处于不完整的状态。
我想知道是否有更好的方法来处理这些文件传输。可以说,rsync 或 scp 更能适应周期性连接丢失?最好的情况是,如果传输中断,传输会重新连接并从中断处继续。
在这种情况下,“大”意味着文件多达几 GiB,并且传输跨越几个小时。
答案1
我认为在这种情况下 rsync 应该可以很好地工作。当传输未完成时,rsync 可以很好地从中断处恢复。如果远程端已经存在旧版本的文件,rsync 非常适合仅传输差异部分。
我不认为 scp 是你想要的。如果你需要通过 ssh 进行传输,那么你可以将选项传递-e ssh
给 rsync,然后 ssh 将用作传输。
答案2
我支持这个rsync
选项,但是如果你想让它恢复大文件的传输,那么不要忘记使用--partial
命令行选项,这意味着当链接断开时它不会删除它正在写入的临时文件。你可能不得不在链接断开时重试的循环中调用它。
就像是
until rsync --partial -e ssh sourcefile remote:destination; do
echo Retrying;
done
答案3
为什么不使用 BitTorrent?如果你使用它,你会得到多重好处。至少传输可靠,并且可以从多个位置进行播种。
答案4
或许直接联系(或其他 P2P 协议)是您的最佳选择吗?