我正在使用 rsync (cygwin) 同步两个驱动器,使用以下命令rsync -a -H /cygdrive/e/ /cygdrive/d/
í 有大约 3 TB 的数据,可能有大约 100 万个文件(包括)硬链接。如果没记错的话,第一次大约需要1-2天才能完成。如果重新运行此命令,即使没有任何更新,也会花费很长时间。需要几个小时——12个小时。这不是应该少花很多时间吗?
答案1
您正在同一系统上的两个位置之间进行复制。这会关闭 delta 算法并恢复rsync
为cp -a
.
该-H
标志导致rsync
必须保留具有多个硬链接的每个文件的记录,以便它可以重建目标中的硬链接。这会增加内存使用(根据经验,我会说增加很多),这反过来又会对您的系统提出更高的要求。
最后,Cygwinrsync
比本地 UNIX/Linux 实现要慢得多。我还不确定这是否是因为它使用了 Windows 之上的兼容层,或者是因为文件系统速度较慢,甚至完全是因为其他原因。但对于同一硬件上的一组相同的文件来说,速度会慢一些。
答案2
这不是一个完整的答案,但我认为这对于某些陷入同样情况的人来说可能非常有价值。我最终在 Linux 上进行了 rsync,并且没有出现任何问题。如果您遇到此问题,请至少尝试从 CD 启动到 Ubuntu/CentOS 或您喜欢的 Linux 发行版,看看它是否有效。