我在 a 上有一个大约 35 GB 的文件偏僻的Linux Ubuntu 服务器。 本地,我运行的是 Windows XP,因此我使用 SSH 连接到远程 Linux 服务器(具体来说,我使用的是一个名为SSH 安全外壳客户端版本 3.3.2)。
尽管我的宽带互联网连接非常好,但我下载大文件时经常失败并出现Connection Lost
错误消息。我不确定,但我认为它失败了,因为我的互联网连接可能每隔几个小时就会中断一两秒。由于文件太大,下载可能需要 4.5 到 5 小时,并且在这段时间内互联网连接可能会中断一两秒钟。我认为这是因为我已经在同一台计算机上使用相同的互联网连接和相同的 SSH 软件成功下载了这种大小的文件。换句话说,有时我很幸运,在互联网连接中断之前下载就完成了。
有没有什么方法可以让我以智能方式下载文件——操作系统或软件“知道”文件在哪里停止,并且如果互联网连接发生中断,可以从上一个点恢复?
也许可以分段下载文件?虽然我不知道是否可以方便地将我的文件拆分为多个文件 - 我认为这会非常困难,因为该文件是二进制文件并且不可读。
就像现在一样,如果在连接中断之前整个 ~35 GB 文件下载没有完成,那么我必须重新开始下载并覆盖迄今为止本地下载的 ~5-20 GB 块。
你有什么建议吗?谢谢。
答案1
rsync --partial
如果你有的话,这是一种简单的方法rsync
,因为它通过 ssh 运行得很好。所做--partial
的就是保留部分下载的文件,这样您就可以从中断的地方继续。
答案2
我对您所说的正在使用的 SSH 客户端一无所知,但您所描述的内容应该适用于任何支持 SFTP 的 SSH 客户端。
如果这个没有,请选择一个可以的(WinSCPhttp://winscp.net/是一个免费的 Windows SSH 客户端,支持 SFTP),您应该能够像使用常规 FTP 客户端一样下载文件,即如果您的连接断开,则从中断处恢复下载。
答案3
如果加密传输并不重要,您可以使用 Bittorrent。使用开放式跟踪器,例如openbittorrent.com
Chaos Computer Club 或 Chaos Computer Club 的bittorrent.ccc.de
,并且不要.torrent
与其他任何人共享该文件。