Rsync

如何調試 rsync 的 –link-dest 選項?

  • May 9, 2021

有什麼方法可以rsync報告為什麼​​它決定製作文件的新副本,而不是硬連結它?(例如,由於時間戳,或檢測到內容的變化……等)

(我正在創建增量備份,但一些長時間不應該更改的文件仍然被複製而不是硬連結。)

相關,但不能解決我的問題: rsync –link-dest not linking

在那個問題中, 所有文件都被複製而不是連結,而在我的情況下,只有一些文件被複製(所以我猜該命令的語法是正確的)。

作為參考,我使用的命令是:

rsync -av -delete --link-dest=/path/to/previous/backup/ /path/to/source/ /path/to/new/backup/

(注意最後的斜線!)

使用--itemize-changes(或-i)代替-v提供了更多關於您執行的文件發生某些事情的原因的資訊rsync

例如,如果一個文件的組所有權已更改,但沒有其他任何內容,您可能會看到與cf.....g...該文件類似的內容。初始字元是“更新類型”,ac簡單表示“更改”(即不是文件數據的傳輸)。以下f是文件類型(“正常文件”)。沿著字元串越g遠意味著組在源和目標之間是不同的。

這在rsync手冊中都有描述。查找該--itemize-changes選項的詳細說明。

當文件的元數據發生變化時,不能再將其創建為具有--link-dest. 同一文件的硬連結的元數據不能不同。

引用自:https://unix.stackexchange.com/questions/648953