如何將 rsync 與 --delete 一起使用,同時保持非備份目錄完好無損?

如何將 rsync 與 --delete 一起使用,同時保持非備份目錄完好無損?

我知道有相當多的“rsync 和符號鏈接”線程,但我找不到適用於我的問題的線程。

我想使用 rsync 來製作/home分區的備份副本,此外 /home 包含一些真實的主目錄和一些到另一個檔案系統的符號連結:

/home/user1 (a directory)
/home/user2 (a symlink to another fs)

我嘗試使用:

rsync -axv --delete /home /some_backup/

其中/some_backup已經包含:

/some_backup/home/user1
/some_backup/home/user2
/some_backup/home/user3

....其中user2user3目錄由另一台電腦的另一個 rsync 填入。不幸的是,這個 rsync 行不起作用,因為我的 rsync 呼叫將刪除/some_backup/home/user3(因為它不存在於我的 /home 中)並且/some_backup/home/user2(因為這是一個檔案系統外符號連結)。

有沒有辦法告訴 rsync 忽略來源中沒有符合的目標目錄?我需要--delete因為否則需要這種行為。

一個可能的解決方案是為每個必須複製的 /home/user 目錄使用一個 rsync 語句(而不是備份整個 /home)。這並不理想,因為用戶來來去去,這將需要更多的維護。

相關內容