![在两台服务器之间双向同步 CentOS 上的目录](https://linux22.com/image/486683/%E5%9C%A8%E4%B8%A4%E5%8F%B0%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%B9%8B%E9%97%B4%E5%8F%8C%E5%90%91%E5%90%8C%E6%AD%A5%20CentOS%20%E4%B8%8A%E7%9A%84%E7%9B%AE%E5%BD%95.png)
我们正准备启动另一个数据中心,并且我们有一个脚本针对备份的本地管理机器。
我们希望该机器上的备份目录能够与我们主数据中心的一台机器双向同步,以便在所有管理机器上都能看到相同的备份。
大家有什么建议吗?
答案1
你可以检查齐奏。我本来想使用它,但[也许幸运的是]最后我说服了负责人,这是灾难的根源,我们最终采用了主从设置和单向同步。
答案2
rsync -e ssh --update /backup/dir remote:/backup/dir
rsync -e ssh --update remote:/backup/dir /backup/dir
--update 选项使其跳过较新的文件;因此,您将始终在两端获得最新的副本。
(这假设您原始备份到管理机器的时间戳正确保留了时间戳)
答案3
这取决于您同步的文件的使用方式。如果个别文件可能在两个位置都更新,那么您的流程将很难确定哪个版本是“正确”的,即使您只是选择较新的编辑,也可能最终覆盖某人的合法更改。删除文件时也会出现同样的情况。在这两种情况下,您最好进行适当的版本控制,而不是同步。
另一方面,如果文件总是在一个位置写入,而在另一个位置只需要可读,您最好使用 rsync 或类似程序进行两次单向同步,并将文件分开。