Dom*_*icM 5 backup rsync synchronization
我正在尝试备份发生故障的硬盘驱动器,并且 rsync 将是理想的选择,因为它具有诸如进度指示器和停止和恢复能力等功能。我遇到的一个问题是,虽然文件日期修改属性被保留,但目录获得新的日期属性。这会导致问题,因为我按日期对许多文件进行排序,因此我知道最近添加了什么。是否可以使用 rsync 保留目录日期修改属性:
sudo rsync -avhX --progress --info=progress2 /mnt/failing/ /mnt/new/
Run Code Online (Sandbox Code Playgroud)
-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/
Run Code Online (Sandbox Code Playgroud)
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/
Run Code Online (Sandbox Code Playgroud)
rsync -i
显示 d2/d1 上的时间戳错误并修复它。