rsync 带delete参数 有些文件没被同步到远程

即默认rsync只会比较文件大小和最后修改时间,只要这两者一样,rsync即认为文件相同。其它属性(包括文件内容)的不同,并不会让rsync同步该文件!

所以,如果本地文件与远程文件大小一样,修改时间也一样,那么默认情况下,即使文件内容不一样的文件也不同被同步了。

2、用参数控制rsync的比较算法

通过设置合适的参数,可以控制 rsync 的比较算法。事实上, rsync 有三步来比较文件:

  1. 比较文件大小。
  2. 比较文件最后修改日期。
  3. 比较文件内容,通过checksum(比如md5sum)。

我们可以用参数来控制 rsync 执行上面的哪些步骤:

  • 默认的算法只执行 1 和 2。
  • 参数--size-only只检查 1 ,亦即只要文件一样大,即使修改日期不一样,就认为文件一样,更不会去检查文件内容。
  • 参数--ignore-times是忽略所有检查,直接认为文件都不一样,然后总是复制文件。
  • 参数--checksum是在 1 的基础上执行 3 ,比较文件内容。如果文件大小不一样,可以确保内容不一样。如果文件大小一样,那么直接比较文件内容,不会执行 2 中的比较修改日期。该方法最安全,但需要读取两边的文件内容,某些情况下要慢很多(尤其是最后比较出来的文件内容一样的情况)。
-----------------------------------------------------------------------------
交流QQ号:1175372067
电话:18551717618(同微信)
元几科技.软件3部
迈开步伐去探索
南京元几科技有限公司
元几社区: https://www.cnblogs.com/colin-vio
元几官网: http://www.yuanji.tech
-----------------------------------------------------------------------------
原文地址:https://www.cnblogs.com/colin-vio/p/14930251.html