只用mtime与rsync比较?

只用mtime与rsync比较?

是否可以通过同步文件rsyncrsync仅比较 mtime 信息?

或者还有其他工具可以完成这项工作吗?

这意味着,如果 src 比目标新,则此类工具仅将 src 复制到目标。与 GNU 相当cp --update- 但也通过 ssh ...

答案1

对的,这是可能的。rsync也有--update,但它rsync仍然使用其增量传输算法,以防 src 较新。rsync提供--whole-file禁用此算法的选项。因此,

$ rsync --update --whole-file ...

应该具有这样的效果:src 文件仅在较新时才复制到目标。并且仅应使用 mtime 检查来实现此目的。

在特殊用例中避免使用增量传输算法有几个原因。主要是性能原因,也可能是非常特殊情况下的传输量原因。

引用手册页:

-W, --整个文件

使用此选项时,不使用 rsync 的增量传输算法,而是按原样发送整个文件。当源计算机和目标计算机之间的带宽高于磁盘带宽时(特别是当“磁盘”实际上是网络文件系统时),如果使用此选项,传输可能会更快。当源和目标都指定为本地路径时,这是默认设置,但前提是没有有效的批量写入选项。

关于网络文件系统的情况应该是最常见的一种。

此外,由于增量传输算法是一种启发式算法,您可以想象算法最终传输整个文件并仅增加(时间和空间)开销的文件。

相关内容