
我使用 Unison 將我的音樂收藏同步到幾個不同的來源,即透過 SSH 的幾台電腦和一個硬碟。
我注意到的一件事是 SSH 更新令人難以置信快速地與硬碟同步相比,可能是因為rsync
(或在引擎蓋下運行的任何內容)僅移動更改的內容。除此之外,我可以一次運行多個 SSH 複製操作,並且複製到本地 USB 硬碟的操作會被拋在腦後,因為它一次只複製一個文件,並且每次都會覆蓋整個文件。
當更改 ID3v1 標籤的編碼(用於相容性測試)時,我的整個約 5000 個檔案音樂庫變更需要備份到其他電腦和硬碟。
我有什麼辦法可以:
- 增加同時複製的數量;和
- 只複製文件中已更改的部分?
這是我的 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
可能就是您正在尋找的。我想一致也有類似的選擇。