在源服务器(A)上,我得到一个指向这个文件的文件/ opt / resources / xxx和一个硬链接/ etc / apache2 / sites-available / xxx。
在另一台服务器(B)上,我得到了与/ opt / resources / xxx硬链接相同的/ etc / apache2 / sites-available / xxx结构
我在服务器(A)上的服务器(B)的rsync所有更改/ opt下
当我更改服务器A上的文件xxx,然后rsync到服务器B时,这些更改被反映。 服务器B上的/ opt / resources / xxx包含我对服务器A上的同一文件所作的更改。
唯一我不明白的是文件/ etc / apache2 / sites-available / xxx不包含更改。
它似乎是rsync打破硬链接,但可能我错过了一些configuration选项。
哪一个 ?
弗朗西斯
-H是保存硬链接的选项; 它不包含在-a 。
rsync对硬链接的处理取决于你在一次传输中发送所有链接的文件(同时将/etc/apache2/sites-available/和/opt/resources/同时同步到服务器B):
请注意,rsync只能检测传输集内的文件之间的硬链接。 如果rsync更新一个文件,该文件与传输之外的文件具有额外的硬链接连接,则该连接将被打破。
这是因为默认情况下,rsync将文件写入到一个新的位置,然后移动到前一个文件的顶部,从本质上擦除原来的硬链接,并用新文件replace它。 它build议使用--inplace选项来改变这个默认值,但是警告说有风险,最值得注意的是:
(2)传输过程中文件数据处于不一致状态;(3)传输中断或文件更新失败,文件数据传输后可能会出现不一致的状态