rsync 如何知道要传输哪些文件?

blu*_*ast 7 rsync

这只是一个“我感到好奇”的问题。在本地同步(即从一个驱动器到同一主机上的另一个驱动器)时,rsync 如何知道哪些文件不值得传输?我想它不会进行完整的文件比较(因为那太贵了)。它是否只做简单的检查,例如:

  • 文件大小
  • 修改时间

如果是这样,我想通过更改文件的内容、保持大小和重置修改时间(如果可能的话)来欺骗 rsync 会很容易。

Chr*_*ris 5

这是流行的误解 - Delta 传输rsyncrsync旨在进行最快的复制,而不需要增量复制。要进行增量复制,您需要进行校验和。现在,“rsync”不会检查要传输的文件,但可以跳过哪些文件。通常会检查发送方的大小/ mtime 并与接收端进行比较。

您可以rsync选择对每个文件进行校验和(我认为是--checksum)。当然这会很慢......