使用 Unison 減少硬碟同步時間

使用 Unison 減少硬碟同步時間

我使用 Unison 將我的音樂收藏同步到幾個不同的來源,即透過 SSH 的幾台電腦和一個硬碟。

我注意到的一件事是 SSH 更新令人難以置信快速地與硬碟同步相比,可能是因為rsync(或在引擎蓋下運行的任何內容)僅移動更改的內容。除此之外,我可以一次運行多個 SSH 複製操作,並且複製到本地 USB 硬碟的操作會被拋在腦後,因為它一次只複製一個文件,並且每次都會覆蓋整個文件。

當更改 ID3v1 標籤的編碼(用於相容性測試)時,我的整個約 5000 個檔案音樂庫變更需要備份到其他電腦和硬碟。

我有什麼辦法可以:

  1. 增加同時複製的數量;和
  2. 只複製文件中已更改的部分?

這是我的 Unison 個人資料:

# Unison preferences
batch = false
confirmbigdel = true
copymax = 10
logfile = .unison/unison-music.log
maxthreads = 30
perms = 0
sortbysize = true

root = /home/me/Music
root = /media/truecrypt1/media/music

答案1

copythreshold = 1024

然後使用一致方式更改大於 1Mb 的文件,rsync而不是完全重新傳輸。

答案2

確保該fastcheck選項已開啟(如果雙方都是unix系統,則應該是預設的)。預設情況下,Unison 會查看每一側每個檔案的全部內容。這樣比較安全:它保證Unison運作後,兩邊的內容是相同的。如果文件的修改時間可能因虛假原因而更改,速度也會更快。對於大文件,這可能會很慢。使用該fastcheck選項,如果檔案的大小和修改未更改,Unison 將認為檔案未更改(rsync 預設會進行此最佳化)。

答案3

查看man rsync並蒐索該whole file選項。--no-whole-file可能就是您正在尋找的。我想一致也有類似的選擇。

相關內容