我需要以与 Dropbox 相同的方式在 3 台计算机之间同步,例如,如果一台计算机上的文件发生更改,其他计算机也会反映此更改。所以我选择了Unison。并发现它适用于 2 台计算机,那么 3 台或更多计算机又如何呢?我尝试在 config 文件中指定 3 个根,但它不能以这种方式工作,并且只需要 2 个根。经过一番搜索,发现了这样的说法:
使用 Unison 同步两台以上的机器 Unison 设计用于同步副本对。但是,可以使用它通过执行多个成对同步来保持更大的机器组同步。
如果您需要这样做,最可靠的设置方法是将机器组织成“星形拓扑”,其中一台机器指定为“集线器”,其余机器指定为“辐条”,并且每个辐条机器同步仅与集线器一起。星形拓扑的一大优点是,它消除了由于 Unison 为其同步的每对主机维护单独的存档而引起的令人困惑的“虚假冲突”的可能性。
但我没有找到任何超过 3 台电脑进行同步的有效示例。下面的示例配置一旦运行就会产生错误 - “致命错误:根数错误:预期为 2 个,但提供了 3 个”
# Roots of the synchronization
root = /home/dem/testsync/
root = ssh://[email protected]//home/pc1/testsync/
root = ssh://[email protected]//home/pc2/testsync/
auto=true
batch=true
confirmbigdel=true
fastcheck=true
prefer=newer
times=true
答案1
软件本身只能同步 2 个文件夹/计算机。因此,文档告诉您的是进行设置,以便一台计算机位于中心,并且其他所有计算机都与其同步。
computer1 <--2way sync --> hub_computer <--2way sync --> computer2
^
|
|
2way sync
|
|
⌄
可能更容易使用同步事物 电脑3
答案2
您可以使用一致,但尝试使用2个目标根,您可以设置一致的两个配置,使用其他名称定义第二个配置文件,例如dc2,您可以创建名称为profile.prf的文件,并使用配置文件名称调用一致。
vi ~/.unison/default.prf
vi ~/.unison/dc2.prf
/usr/bin/unison
/usr/bin/unison dc2