rsync:僅列出更改的檔案/屬性

rsync:僅列出更改的檔案/屬性

我正在努力實現以下目標:

為了檢查我是否正確地將舊 NAS 中的所有資料同步到新 NAS,我正在執行:

rsync --rltD -hvinu /path/to/old/NAS/ /path/to/new/NAS

現在:-n 為我提供了一個試運行,-ia 更改列表,-u 應該跳過新 NAS 上的所有較新文件(我需要它,因為新 NAS 上已經有更新 - 人們已經在使用它) 。

上面的指令給了我一個包含多個目錄的清單:

.d..t

哪個ACC。到手冊頁意味著不會發生任何傳輸,但屬性(即時間)將在目標中更新。

檢查受影響的目錄,我可以看到目標中的目錄比來源中的目錄新。

所以我會

  1. 預計甚至不會在 rsyncs 輸出中看到它 - 因為它應該被跳過,
  2. 該時間戳記不應該更新。 -你應該照顧好這一點。

有哪位rsync高手可以解釋一下嗎?我在這裡沒有得到什麼?

順便一提:這是 Qnap NAS(來源)和 Synology NAS(目標)上的 rsync 實作。

更新1:

所以看來 --update 僅適用於文件,不適用於目錄。 rsync 正在做它應該做的事情:比較大小和最後修改的時間戳,並將目標中的時間戳更新為來源中的時間戳(較舊)。

我還沒有找到將 --update 套用到目錄的選項 - 但是 --omit-dir-times 會忽略目錄上的時間戳記。應用該選項也會導致來源中較新的目錄被忽略。因此,來源中新增的檔案將同步到目標,但其父目錄時間的相應變更將不會同步。我無法想像這是 rsync 中的錯誤/缺陷 - 我一定在這裡遺漏了一些東西?

相關內容