![rsync 校验和不适用于文件夹](https://linux22.com/image/712301/rsync%20%E6%A0%A1%E9%AA%8C%E5%92%8C%E4%B8%8D%E9%80%82%E7%94%A8%E4%BA%8E%E6%96%87%E4%BB%B6%E5%A4%B9.png)
我有一个 rsync 命令
rsync -azvh --checksum --delete --exclude '.git' fordeploy/ target/
这种方法效果很好,可以忽略只有时间戳变化的文件。我遇到的问题是,我的内部文件夹的时间戳一直在变化,所有这些都会同步,我不希望发生这种情况。
我尝试了--ignore-times但是也没有用。
问:如何让 rsync 也忽略文件夹时间戳?
答案1
简短回答: --checksum
仅适用于文件。这意味着,如果时间戳发生变化,则目录属性始终会被重新传输。
长答案:目录实际上是一种特殊的文件。如果目录内发生任何变化(即文件时间戳更新、文件添加等),磁盘上的目录内容也会发生变化。这意味着rsync
必须重新传输它以便为您提供一致的副本/备份。