通过不可靠的链接复制大文件

use*_*701 6 vpn rsync

这实际上不是关于编程的问题,而是关于作为程序员工作的问题。我希望这是一个适合这个问题的论坛。

我在家工作。我的基于 Windows XP 的笔记本电脑通过 VPN 连接到我雇主的网络。有时,我需要下载一个在网络驱动器上共享的大文件 (~2.5 GB)。虽然可以使用 Windows 资源管理器拖放文件来复制文件,但 VPN 很可能会超时,或者我的互联网连接在传输过程中的某个时刻会出现故障。

所以我正在寻找的是一种复制大文件的方法,该文件支持在连接失败时恢复。我最初尝试在 cygwin 中使用 rsync,但我认为我没有正确的选项集。

我在做“rsync -aP src_file_path dest_file_path”。如果传输完成且没有错误,它会正确下载,但如果它崩溃,当我再次发出命令时,它会开始下载整个文件。

Gru*_*bel 8

您的 rsync 命令行看起来正确(-P需要保留部分传输的文件),但是您必须通过指定远程路径来确保您实际使用 rsync 进行数据传输:

rsync -aP juser@server:/tmp/data some_directory
Run Code Online (Sandbox Code Playgroud)

如果两个路径都指向本地文件系统(即使其中一个是网络文件系统),rsync 将无法使用其增量传输,而是会传输完整文件。


JMD*_*JMD 6

您还可以尝试 robocopy,这是 Vista 中附带的 xcopy 替代品,可在 Windows XP 资源工具包中找到。

http://en.wikipedia.org/wiki/Robocopy

Robocopy 包含用于在“可重新启动”(读取:可恢复)模式下复制文件的选项 (/Z)。


Byr*_*ock 5

我喜欢teracopy。像魅力一样工作,也可以与 Windows 资源管理器集成。非常适合比 Windows 好 10 倍的大文件。它是免费的,但有付费版本。