FTP太糟糕了-它诞生于1980年代中期,坦率地说,它应该在那里死了。
我可能会从scp(安全副本)开始,它应该是您喜欢的Linux发行版(包括Cygwin)上的openssh或openssh-client软件包的一部分,如果您运行的是不带Cygwin的Windows,则应作为PuTTY软件包的一部分提供。您需要在目标主机上配置ssh服务器,但这非常简单,前提是您具有root / Administrator访问权限(如果没有,则情况会变得越来越难);一旦您运行了ssh服务器,并且可以从源主机访问它,则只需
user@source $ scp /path/to/file user@destination:/path/to/receiving/directory
这应该可以很好地满足您的观点1,因为scp的开销相当低;它肯定会满足第2点的要求,因为它肯定会检测到失败的连接,并且可以(可能)配置或(肯定)编写脚本以根据需要进行多次重试;它很容易覆盖第3点,因为不需要中间主机或服务;它也很好地涵盖了第4点,因为您可以在两台主机上安装ssh服务器,然后按照您喜欢的任何方向传输文件。您还可以免费获得加密,这可能对您有用也可能不有用。
OpenSSH手册可能是一个不错的起点,如果您最终选择了这条路线,我将很高兴为您提供进一步的帮助-我在使用scp / ssh进行此类传输方面有一些经验(尽管不是来自加拿大)到非洲,反之亦然,我承认不是一个文件大小超过70GB的文件!)
希望这可以帮助!
rsync
这个目的。给它加上--partial
标志,如果断开连接,它将保存任何进度。