Rsync

使用 rsync 保留在目錄/文件夾上修改的日期

  • September 4, 2016

我正在嘗試備份發生故障的硬碟驅動器,rsync 將是理想的,因為它具有進度指示器和停止和恢復能力等功能。我遇到的一個問題是,雖然保留了文件日期修改屬性,但目錄卻獲得了新的日期屬性。這會導致問題,因為我按日期對許多文件進行排序,所以我知道最近添加了什麼。是否可以使用 rsync 保留目錄日期修改屬性:

sudo rsync -avhX --progress --info=progress2 /mnt/failing/ /mnt/new/

-t(包含在 -a 中)選項保留文件屬性但不提及目錄。/mnt/new 分區的所有權/權限是否有任何特殊要求才能成功保留某些屬性?

目錄的最後修改時間由 保存-a,但只有在 rsync 完成時才能看到。它不會嘗試在不斷更新新文件的目錄上設置時間。

你可以自己測試一下。創建一個目錄並將其上的日期設置為昨天,然後使用 rsync 複製它:

$ mkdir d1 d2
$ ls -ld d1
drwxr-xr-x 2  40 Nov  4 14:41 d1
$ touch -d 'yesterday' d1
$ ls -ld d1
drwxr-xr-x 2  40 Nov  3 14:41 d1
$ rsync -i -avR d1 d2
$ ls -ld d1 d2/d1/
drwxr-xr-x 2  40 Nov  3 14:41 d1
drwxr-xr-x 2  40 Nov  3 14:41 d2/d1/

d2/d1 目錄有昨天的日期。我們可以覆蓋它並查看 rsync 是否修復了問題:

$ touch d2/d1
$ ls -ld d1 d2/d1/
drwxr-xr-x 2  40 Nov  3 14:41 d1
drwxr-xr-x 2  40 Nov  4 14:42 d2/d1/
$ rsync -i -avR d1 d2
.d..t...... d1/
$ ls -ld d1 d2/d1/
drwxr-xr-x 2  40 Nov  3 14:41 d1
drwxr-xr-x 2  40 Nov  3 14:41 d2/d1/

rsync -i顯示 d2/d1 上的時間戳錯誤並修復它。

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