我想單程在兩台機器之間同步大目錄,無需直接連接。要么使用一些連接到兩台機器的雲端儲存(沒有運算能力),要么使用可以交替連接到機器的中間儲存設備(例如硬碟、閃存驅動器,而不是另一台機器)。
需要注意的是,中間儲存空間上沒有足夠的空間來容納整個資料夾,但足以傳輸最大的檔案。
我想像的流程是:
- 在目標機器上:建立目標資料夾的快照並將其放在共用儲存體上。
- 在來源機器上:將來源資料夾的結構與共用儲存中的快照進行比較,並將所有帶有元資訊的遺失檔案放入共用儲存(受共用儲存體上的可用空間限制)。
- 在目標機器上:從共用儲存複製檔案並告知是否應重複流程。
是否有現有的解決方案可以從 macOS/Linux shell 執行此類操作?
答案1
只需使用同步在中間設備上。
Rsync 非常適合這樣的任務:將來源設定為來源計算機,將目標設定為目標計算機,然後就可以了。
該命令將是這樣的:
rsync -avz user@source_machine.local:/source/directory/ user@destination_machine.local:/destination/directory/
這應該可以正常工作,而無需擔心中間電腦上的儲存開銷,因為當使用 Rsync 時,這一切都變成了一項網路任務,僅利用該中間電腦上的 CPU 和網路資源。
但這兩個選項都要求在來源電腦和目標電腦上運行某種作業系統。單獨的基於雲端的「啞」儲存或簡單的外部儲存裝置(例如 USB 隨身碟)無法在它們之間沒有某些作業系統的情況下「橋接」。
最終,等式兩邊都需要一個作業系統。也許中間設備可以掛載雲端設備,然後掛載外部儲存設備(例如 USB 隨身碟),然後您只需執行 Rsync 即可開始工作。