rsync 双向完成,但目录大小不同。怎么可能?

rsync 双向完成,但目录大小不同。怎么可能?

我想同步 2 个目录 ( /src& /dst) 以镜像这两个目录中的所有文件。

这是一个步骤:

  1. sudo rsync -vaP --stats /src /dst-> 已完成且没有错误
  2. sudo rsync -vaP --stats /dst /src-> 已完成且没有错误
  3. diff -rq /src /dst-> 不显示任何差异。
  4. du -s /src && du -s /dst显示不同的尺寸(10% 差异)。

怎么可能?我完全陷入了这个困境。

答案1

  • -S当不使用该标志时,稀疏文件可能会在副本上扩展。 (会使目的地占用更多空间)
  • -H当不使用该标志时,树中的硬链接可以扩展为单独的副本文件。 (会使目的地占用更多空间)
  • 文件系统可能有不同的分配大小。一个单字节文件在一个文件系统上可能占用 512 字节的磁盘分配,在另一文件系统上可能占用 4096 字节(甚至更多)。如果您的树有很多小文件,这将会产生很大的差异。 (目的地可能会根据具体情况占用更多或更少的空间)
  • 目录可能比保存某些文件系统上的当前内容所需的大得多。复制内容后,目标目录会变小。通常没什么大不了的,但一些病态目录可能会很大。 (将使目的地占用更少的空间)

文件系统也可能具有不同的压缩/重复数据删除/冗余设置,从而导致数据的不同存储要求。但这种情况不太常见,即使存在,差异也并不总是通过 可见du

相关内容