我必须在两台不同的服务器上安装硬盘驱动器,并且需要定期同步。到目前为止,我一直在 sshfs 上使用 rsync,首先从一个到另一个,然后从另一个到第一个,但事实证明这种方法并不令人满意。从驱动器 A 中删除文件时,它不会复制到驱动器 B,而是从驱动器 B 复制到驱动器 A。因此,除非从两个驱动器中执行操作,否则我永远无法删除任何内容。重命名也是如此 - 重命名一个驱动器上的目录很快就会产生两个名称不同但内容相同的目录。
理想情况下,我需要一些东西来跟踪一个驱动器上的更改,然后在另一个驱动器上复制这些更改。有什么建议么?
答案1
如果您有能力拥有第三台服务器来存储文件,您可以使用 Nextcloud。 (如果没有第三个地方可用,您也可以将其托管在其中一台服务器中)。
根据我的经验,它可以很好地跟踪来自多个位置的更改,除非您同时打开某些机器而另一些机器关闭;在这种情况下,文件差异冲突很容易出现。
不过,ServerFault 中的这个问题似乎是最合适的:https://serverfault.com/questions/924294/master-master-file-sync- Between-datacenters
答案2
你考虑过Syncthing吗?
它可以持续同步文件,如果您的两个设备可以直接通信,您甚至不需要中继服务器,因为它们可以直接同步。