rsync 的联机帮助页指出:
Rsync 使用“快速检查”算法(默认情况下)查找需要传输的文件,该算法查找大小或上次修改时间已更改的文件。当快速检查指示文件的数据不需要更新时,直接在目标文件上进行其他保留属性的任何更改(根据选项的要求)。
因此,要跳过文件,源和目标的修改时间必须相同。但由于--times
默认关闭,目标文件将同步时间作为其修改时间,导致它们被一遍又一遍地传输。
尤其是那段说(强调我的):
...其他保留属性的任何更改...
使它看起来(对我来说)好像修改时间默认情况下已经是一个保留的属性,但在我的实验中我发现不是这样。
我错过了什么?
“(根据选项的要求)”
是的,句子中的“其他”一词使您的解释成为可能,但我认为实际情况是默认情况下没有保留属性,而这些需要通过 options 明确要求。
rsync
在这方面的工作方式非常相似cp
,默认情况下也不保留文件的时间戳或所有权。两者都保留了权限。