rsync 不同步文件

rsync 不同步文件

我正在使用 rsync(与 Cygwin 一起)同步 2 个本地文件夹。这些文件夹包含二进制文件。

我正在使用以下命令:

rsync.exe -av dir1/ dir2/

但dir2中的文件仅部分更新,几乎没有不同的文件。

有人知道 Windows 上的 rsync 存在问题吗?我应该使用其他标志吗?

答案1

这是一个猜测:可能是时间分辨率不够大,文件不同,但它们的时间戳落在同一秒内且长度相同,因此 rsync 无法区分它们并跳过它们,认为它们是相同的。该选项--ignore-times在这种情况下可能会有所帮助,因为这将强制 rsync 检查文件内容,而不仅仅是文件大小和时间戳。

的另一种替代方法--ignore-times--checksum,它将强制 rsync 对每个文件进行校验,并保证之后的目录完全相同,但是它会使速度稍微变慢,特别是在大型文件层次结构中。

另一个更常见的问题可能是硬件、RAM、硬盘或其他任何导致文件复制错误的因素,我已经看到这种情况发生过很多次了。要检查这个问题,请使用内存检查器,memtest86+并将相同的目录结构重复复制到不同的目标目录并比较结果,如果每次结果都不同,则说明有问题。

答案2

Rsync 功能强大且聪明,但您需要准确了解要求它做什么,这意味着您需要阅读整个手册三遍。您的使用方法看起来很简单,但很多事情其实并不简单。

是的,--whole-file 是 local-local rsync 的默认设置。

相关内容