我想在兩台筆記型電腦上保留一個通用的同步資料夾。 (有很多媒體檔案等,所以不能使用 git,但另一方面,需要協調的變更很少。)
最簡單的方法似乎是在每台電腦和外部硬碟上保留該資料夾的副本,該磁碟機可以插入其中的任何一個。
為了同步它們,我想使用一致。
這工作得很好,除了我反覆收到錯誤訊息:
找不到這些根目錄等的存檔文件
這樣一致就可以從頭開始重新掃描所有內容,這需要很長時間
然而,當它完全重新掃描時,它似乎總是做正確的事情。
我想我做錯了什麼。這是否可能與一致有關,我需要做什麼才能讓它識別這是一個外部驅動器和兩個本地資料夾,並且表現得適當?
答案1
Unison 存檔檔案儲存在~/.unison/ar*
同步的兩個絕對路徑的雜湊值中並以雜湊值命名(可以在檔案本身內以文字形式看到)。您需要確保外部磁碟始終安裝在相同位置。
重要的是,路徑包括主機名稱(以幫助透過 SSH 進行同步),因此如果電腦的主機名稱發生變更(例如由於 DHCP 分配新主機名稱),則所有舊的存檔檔案將不再被識別。
無論如何,請調查存檔檔案遺失的原因,和/或不斷更改其名稱。儘管它們是二進制的,但您仍然可以運行head
或strings
查看顯示每個存檔文件的兩個路徑的文字標頭。