如何阻止 rsync 替换每个文件,无论它是否已更改?

Jos*_*hua 1 rsync

我想rsync将“copy_to_home”目录(位于 NTFS 格式的硬盘驱动器上)中的所有内容复制到用户主目录。我不希望它删除任何内容,但如果接收端的文件与发送端的文件不同,它应该替换接收端的文件。

该命令如下所示:

rsync --modify-window=1 -hh --progress -v -r copy_to_home/ ~/
Run Code Online (Sandbox Code Playgroud)

我的问题是,每当执行此命令时,rsync 似乎总是替换其中的每个文件,~尽管文件尚未更改。该--update选项不会执行此操作,但它不会替换接收方已修改的文件。

meu*_*euh 5

如果 Quora Feans 的回答没有帮助,您可以添加选项-i--itemize-changes获取 rsync 来解释它更新文件的原因。它打印一个由字符组成的字符串,YXcstpoguax例如c,表示校验和不同。您可能会发现代码p权限不同或o所有者不同。这些通常通过使用-a保留此类属性的选项来修复。如果您仍然看到差异,请尝试--size-only仅在文件大小不同时更新文件(忽略时间戳)。