rsync:为什么“快速检查”是默认值,而“--times”不是?

rsync:为什么“快速检查”是默认值,而“--times”不是?

rsync 的联机帮助页指出:

Rsync 使用“快速检查”算法(默认情况下)查找需要传输的文件,该算法查找大小或上次修改时间已更改的文件。当快速检查表明文件的数据不需要更新时,将直接在目标文件上对其他保留的属性(根据选项的请求)进行任何更改。

因此,对于要跳过的文件,源和目标的修改时间必须相同。但既然--times离开默认情况下,目标文件将获取同步时间作为它们的修改时间,导致它们被一遍又一遍地传输。

尤其是该段说的事实(强调我的):

...任何变化其他保留的属性...

使得(在我看来)默认情况下修改时间已经是保留的属性,但在我的实验中我发现情况并非如此。

我缺少什么?

答案1

“(根据选项的要求)”

是的,句子中的“其他”一词使您的解释成为可能,但我认为实际情况是有默认情况下保留的属性,并且这些需要显式地按选项要求

rsync在这方面的工作方式非常相似cp,默认情况下也不保留文件的时间戳或所有权。但两者都保留权限。

相关内容