我使用以下命令来同步两个文件夹:
rsync -avhiu --progress --stats folder1/ folder2/
但不幸的是,我有一堆文件,它们仅在时间戳上有所不同,而 rsync 传输整个文件只是为了修改时间......
rsync 的手册页内容如下:
仅发送源文件与目标中现有文件之间的差异
所以我认为我以错误的方式做了某事。如何使 rsync 仅复制时间(当然,当它是唯一更改的属性时)?
答案1
如果您使用而不复制到远程系统或从远程系统复制(即仅在两个本地文件夹之间),则-W
隐含该选项:rsync
-W
,--whole-file
使用此选项时,不使用 rsync 的增量传输算法,而是按原样发送整个文件。当源计算机和目标计算机之间的带宽高于磁盘带宽时(特别是当“磁盘”实际上是网络文件系统时),如果使用此选项,传输可能会更快。 当源和目标都指定为本地路径时,这是默认设置,但前提是没有有效的批量写入选项。
尝试使用--no-whole-file
或运行--no-W
:
rsync -avhiu --no-whole-file --progress --stats folder1/ folder2/