rsync 在创建目录的文件列表时可以忽略目录的 atime 条目吗?

rsync 在创建目录的文件列表时可以忽略目录的 atime 条目吗?

我正在使用 rsync 将数据从本地 LVM 驱动器复制到本地安装的 glusterfs 安装。我试图使它们同步并最终切换到仅使用 glusterfs 安装。这是我正在使用的命令:

rsync -av --inplace --no-whole-file /mnt/lvm-ext4/ /mnt/gluster

我目前已完成初始数据推送,现在正尝试跟上已添加的新文件。LVM 卷目前有大约 14TB 的数据,其中有大约 2500 万个小文件,但我认为 rsync 处理这么多文件会很吃力。

在观察第二次运行的输出时,我发现 rsync 输出的大多数条目都是目录条目,其中一小部分实际文件被移动。我相信这是因为目录已被触及并且它们的 atime 已更新,因此需要 rsync 在远程端更新它们。我最近了解了 nodiratime 挂载选项,并于今天应用了它,希望这对将来的同步有所帮助。

有没有办法让 rsync 忽略这些目录更新,而只传输新的/更改的文件或新目录?我已经看到了 --ignore-times 和 --checksum 的选项,但它们似乎已经包含了所有内容。

答案1

我认为您的问题实际上与目录时间戳无关。

由于数据量很大,rsync 只需要一些时间来发现已更改的文件并开始传输它们。如果同时发现目录 a/m/ctime 更改,它将在接收方复制该更改,但这应该几乎是即时的。

相关内容