Rsync
獲取 rsync 以生成更新檔文件而不是跨文件複製?
我正在使用 rsync 複製許多已從一台伺服器更改到另一台伺服器的文件。我知道我可以使用該
-n
選項進行試執行,這樣我就可以看到哪些文件已更改。但是,是否可以讓 rsync 列印更改的文件內容的差異?我想在複製之前看看發生了什麼?我可以保存到文件中並稍後使用 diff(1) 應用的東西?
可能有更好的方法,但這可能有效,儘管效率不高:
rsync -vrn / dest:/ > ~/file_list
然後編輯測試以刪除統計資訊,然後:
while read file; do diff $file <(ssh dest "cat $file") done < ~/edited_file_list
另一種選擇:
您也可以考慮使用 sshfs/fuse 之類的東西掛載文件系統,然後只使用 diff。
對於創建更新檔:
rsync -arv --only-write-batch=patch new/ old/
應用它:
rsync -arv --read-batch=patch dir/
或使用自動生成的腳本:
./patch.sh
資料來源: