Synchronization

使用 Unison 同步多台 PC

  • October 11, 2019

我需要以與 Dropbox 相同的方式在彼此之間同步 3 台電腦,例如,如果在一台電腦上更改了文件,其他電腦也會反映此更改。所以我選擇了Unison。並發現它適用於 2 台電腦,3 台或更多台如何?我試圖在 confg 文件中指定 3 個根,但它不能以這種方式工作,並且只需要 2 個根。經過幾次搜尋,發現了這個說法:

使用 Unison 同步多於兩台機器 Unison 設計用於同步副本對。但是,可以通過執行多個成對同步來使用它來保持更大的機器組同步。

如果您需要這樣做,最可靠的設置方法是將機器組織成“星型拓撲”,其中一台機器指定為“集線器”,其餘機器指定為“輻條”,並且每台輻條機器同步只有集線器。星形拓撲的最大優勢在於,它消除了混淆“虛假衝突”的可能性,這是由於 Unison 為它同步的每對主機維護一個單獨的存檔而引起的。

但我沒有找到任何超過 3 台電腦進行同步的工作範例。下面的範例配置一旦執行就會產生錯誤 - “致命錯誤:錯誤的根數:預期為 2,但提供了 3”

# Roots of the synchronization
root = /home/dem/testsync/
root = ssh://root@192.168.1.2//home/pc1/testsync/
root = ssh://root@192.168.1.3//home/pc2/testsync/

auto=true
batch=true
confirmbigdel=true
fastcheck=true
prefer=newer
times=true

該軟體本身只能同步 2 個文件夾/電腦。因此,文件告訴您的是進行設置,以使一台電腦位於中心,並且其他所有電腦都與之同步。

computer1 <--2way sync --> hub_computer <--2way sync --> computer2
                              ^
                              |
                              |
                          2way sync
                              |
                              |
                              ⌄

可能更容易使用syncthing computer3

您可以使用 unison,但嘗試使用 2 個目標根目錄,您可以設置兩個一致的配置,使用其他名稱定義第二個配置文件,例如 dc2 您可以創建名稱為 profile.prf 的文件並使用配置文件名稱呼叫一致。

vi ~/.unison/default.prf
vi ~/.unison/dc2.prf


/usr/bin/unison 
/usr/bin/unison dc2

引用自:https://unix.stackexchange.com/questions/248668