rsync --update 和符号链接没有复制最新版本

rsync --update 和符号链接没有复制最新版本

Mac 上的 Rsync(3.1.2 或更早版本)似乎无法正确更新符号链接。

当我从客户端“推送”到服务器时,它会自动覆盖服务器的符号链接,即使它比较旧。

例如 :

serverA 具有链接 MASTER->myFile_v10

clientB 具有较旧的链接 MASTER->myFile_v03

当我推送到 serverA 时,最新的链接被覆盖,留下旧版本:

serverA 具有链接 MASTER->myFile_v03

clientB 具有较旧的链接 MASTER->myFile_v03

我已经尝试过 --update 和我能想象到的链接参数的所有变体。

MASTER 链接和基础文件 myFile_v10 的时间戳均早于 myFile_v03。

答案1

rsync通常不会尝试保留最新数据。它只是一种替代方案cpscp可以避免传输本地数据的相同副本。您可以使用它--update来保留具有最新修改标记的文件,但它不适用于目录和符号链接。

解决问题的最简单方法是确保两台计算机中需要同步的数据相同。任何不同的东西都应该放在不同的子树中。因此,在您的情况下,只需MASTER链接到您正在同步的树外部的中间符号链接,并且该链接在每台计算机中都可以不同。

相关内容