我正在使用以下rsync
包含“更新”选项的命令,这意味着它将跳过接收器上较新的文件。它可以工作,只是我需要它来告诉我跳过的文件,因为它们在接收器上较新。
rsync -ahHX --delete --itemize-changes --stats --update /path/to/source/ --exclude=/dir1/ --exclude=/dir2/ --exclude=/dir3/ /path/to/receiver/
我已经查看了手册页,但没有看到这样的选项。我希望我只是错过了它或不明白一些东西。
如果 rsync 不会这样做,我还可以使用哪些其他工具?我试过diff -rqw /path/to/source/ /path/to/receiver/
了,但这需要的时间太长了。它做的比我需要的要多。
71,835 个文件的总文件大小为 24.60 GB。
我希望有一个更好的解决方案,但这是我想出的:
首先,以与我的复制操作相反的方向运行此检查:
这将告诉我接收器上哪些文件较新(因此会被我的 rsync 命令跳过)。我可以手动处理这些文件,然后运行我原来的 rsync 命令:
这实现了我的目标,但它涉及等待 rsync 两次创建文件列表。每次大约需要 15 秒。如果没有更好的解决方案,我可以忍受。
您可以添加两个级别的详细程度。