Rsync
rsync 問題將源與目標同步(在目標上歸檔剩余文件)
rsync 對我來說很清楚,但我有一個具體的任務我還不知道。
我想將源與目標 1:1 同步。我相信該
--delete
選項將涵蓋這一點。因此,如果我在源上添加文件,rsync 會將文件添加到目標。如果文件在源上被刪除,rsync 會在目標上刪除它。現在,我不想刪除目標文件,而是將其移動到“存檔”文件夾。是否可以向 rsync 詢問源中失去文件的列表?所以我可以將列表中的項目從目的地移動到存檔?
我有一個可行的解決方案,但它不穩定,因為它與傳輸文件相關並且取決於 rsync 控制台輸出,這可能在 rsync 版本中有所不同。
rsync -avun --delete src/ tgt/ |grep "deleting" | cut -c10- > transfer.txt rsync --files-from=transfer.txt --remove-source-files tgt/ archive/ rm transfer.txt rsync -ravu --delete src/ tgt/
關於如何以更可靠的方式做到這一點的任何想法?
這些
--backup --backup-dir=/some/backup/directory
選項將備份目標上更改或刪除的文件。rsync -auv --delete --backup --backup-dir=/path/to/backupdir src/ tgt/
請注意,路徑
--backup-dir
是相對於目標的,因此為避免將其放置在內部tgt/
,最好提供絕對路徑。
有選項
--list-only
選項。