rsync 不会复制具有不同属性但修改时间相同的文件

rsync 不会复制具有不同属性但修改时间相同的文件

我正在使用 rsync 进行备份。这是我的命令行:

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

在大多数情况下,这种方法都行得通。但是,今天,我遇到了一种情况,我只是更改了文件的属性,使其可执行。出于好奇,我运行了 rsync,但它没有显示该文件已被复制到目标。

文件内容完全相同,这是统计输出:

  文件:'Projects/simpleFlash.py'
  大小:706 块:8 IO 块:4096 常规文件
设备:802h/2050d Inode: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 查看文件属性更改?

眼镜:
rsync 3.0.9
文件系统:ext4
Linux内核:3.18.11+

答案1

如手册页所述rsync(1)

Rsync 使用“快速检查”算法(默认情况下)查找需要传输的文件,该算法查找大小或上次修改时间已更改的文件。当快速检查表明文件的数据不需要更新时,将直接在目标文件上对其他保留属性(根据选项的要求)进行任何更改。

这意味着只要您告诉rsync传输属性,它们就会被更新。您说缺少的属性是权限,因此在命令行中添加-p--perms就可以了。

相关内容