rsync 校验和不适用于文件夹

rsync 校验和不适用于文件夹

我有一个 rsync 命令

rsync -azvh --checksum --delete --exclude '.git' fordeploy/ target/

这种方法效果很好,可以忽略只有时间戳变化的文件。我遇到的问题是,我的内部文件夹的时间戳一直在变化,所有这些都会同步,我不希望发生这种情况。

我尝试了--ignore-times但是也没有用。

问:如何让 rsync 也忽略文件夹时间戳?

答案1

简短回答: --checksum仅适用于文件。这意味着,如果时间戳发生变化,则目录属性始终会被重新传输。

长答案:目录实际上是一种特殊的文件。如果目录内发生任何变化(即文件时间戳更新、文件添加等),磁盘上的目录内容也会发生变化。这意味着rsync 必须重新传输它以便为您提供一致的副本/备份。

相关内容