rsync不會複製具有不同屬性但相同修改時間的文件

rsync不會複製具有不同屬性但相同修改時間的文件

我正在使用 rsync 進行備份。這是我的命令列:

sudo rsync -avuh --delete --stats --log-file=$LOGFILE --exclude-from $EXCLUDE $SOURCE $DEST

這在大多數情況下都有效。然而,今天,我遇到了一個場景,我只是更改了文件的屬性以使其可執行。出於好奇,我運行了 rsync,但它沒有顯示該檔案已複製到目的地。

文件內容完全相同,這是統計輸出:

  檔案:“專案/simpleFlash.py”
  大小:706 區塊:8 個 IO 區塊:4096 個常規文件
設備:802h/2050d 索引節點:56961 連結:1
訪問:(0755/-rwxr-xr-x) Uid:( 1000/ pi) Gid:( 1000/ pi)
訪問時間: 2015-03-26 17:13:29.970428613 -0400
修改: 2015-02-17 00:16:44.558033934 -0500
更改: 2015-05-19 13:53:28.401164123 -0400
 出生:-

mtime 相同但 ctime 不同。對於具有相同 mtime 的文件,如何使 rsync 查看文件屬性變更?

眼鏡:
同步3.0.9
檔案系統:ext4
Linux 核心:3.18.11+

答案1

正如手冊頁所述rsync(1)

Rsync 使用「快速檢查」演算法(預設)來尋找需要傳輸的文件,該演算法會尋找大小或上次修改時間已更改的文件。當快速檢查顯示檔案的資料不需要更新時,將直接在目標檔案上對其他保留的屬性(根據選項的請求)進行任何變更。

這意味著只要您告訴rsync轉移屬性,它們就會更新。您說缺少的屬性是權限,因此將-p或添加--perms到命令列即可。

相關內容