rsync 的联机帮助页指出:
Rsync 使用“快速检查”算法(默认情况下)查找需要传输的文件,该算法查找大小或上次修改时间已更改的文件。当快速检查表明文件的数据不需要更新时,将直接在目标文件上对其他保留的属性(根据选项的请求)进行任何更改。
因此,对于要跳过的文件,源和目标的修改时间必须相同。但既然--times
是离开默认情况下,目标文件将获取同步时间作为它们的修改时间,导致它们被一遍又一遍地传输。
尤其是该段说的事实(强调我的):
...任何变化其他保留的属性...
使得(在我看来)默认情况下修改时间已经是保留的属性,但在我的实验中我发现情况并非如此。
我缺少什么?
答案1
“(根据选项的要求)”
是的,句子中的“其他”一词使您的解释成为可能,但我认为实际情况是有不默认情况下保留的属性,并且这些需要显式地按选项要求。
rsync
在这方面的工作方式非常相似cp
,默认情况下也不保留文件的时间戳或所有权。但两者都保留权限。