如何调试 rsync 的 --link-dest 选项?

如何调试 rsync 的 --link-dest 选项?

有什么办法可以举报rsync为什么它决定制作文件的新副本,而不是硬链接它? (例如,由于时间戳,或检测到内容更改......等)

(我正在创建增量备份,但一些不应长时间更改的文件仍然被复制而不是硬链接。)

相关,但不能解决我的问题: rsync --link-dest 未链接

在那个问题中, 全部文件被复制而不是链接,而在我的情况下仅一些正在复制文件(所以我猜该命令的语法是正确的)。

以供参考,我正在使用的命令是:

rsync -av -delete --link-dest=/path/to/previous/backup/ /path/to/source/ /path/to/new/backup/

(注意最后的斜杠!)

答案1

使用--itemize-changes(或-i) 代替 可以-v提供有关您运行的文件发生问题的原因的更多信息rsync

例如,如果某个文件的组所有权已更改,但没有其他任何更改,您可能会看到cf.....g...与该文件类似的内容。首字符是“更新类型”,ac简单地表示“更改”(即不是文件数据的传输)。以下f是文件类型(“常规文件”)。g字符串越远意味着源和目标之间的组不同。

这在手册中都有描述rsync。查找该--itemize-changes选项的较长描述。

当文件的元数据发生更改时,无法再将其创建为同一文件的现有副本的硬链接--link-dest。同一文件的硬链接的元数据不能不同。

相关内容