rsync 是否更改文件内容(处理硬链接)?

use*_*271 13 synchronization rsync hardlink

想象一下,我有一个文件remote/A,其同步到local/A并且local/B是硬链接local/A。是否存在下一次remote/A更改和同步rsync不会删除local/A而只会替换/添加某些部分从而更改local/B(由于硬链接)的威胁?

sho*_*hok 14

使用标准选项,rsync将复制新文件并为其分配一个半随机名称,然后使用原始名称重命名新文件。在此过程中,不会针对原始文件进行写入,从而保留其 hadlink。

另一方面,使用非默认--inplace选项覆盖原始文件及其硬链接。

无论如何,我强烈建议看看--link-dest选项,这对于重复数据删除备份非常有用。