我了解到,通过该-i
选项,我可以让 rsync 列出它所做的所有更改。我一直将它与-n
或--dry-run
选项一起使用,以便我始终可以在实际执行之前了解所有预期的更改。
我一直使用 rsync 主要是为了同步我的两台计算机上的主目录,两台计算机都连接到网络。很多时候我只需要移动少量相对较小的文件。如果是这种情况,rsync 会花费更多时间检查要从传输中排除的所有文件,而不是实际传输实际更改的文件。
现在,如果我遵循此过程,首先进行试运行并列出所有更改,然后实际继续,则计算要从传输中排除的文件的最长部分将完成两次。
我想把它剪成只有一张。有没有办法将空运行创建的更改的逐项列表反馈回 rsync,以便实时运行更快或为此做一些事情?
答案1
从手册页rsync
:
-F 与 --filter='dir-merge /.rsync-filter' 相同重复: --filter='- .rsync-filter'
--exclude=PATTERN exclude files matching PATTERN
--exclude-from=FILE read exclude patterns from FILE
--include=PATTERN don't exclude files matching PATTERN
--include-from=FILE read include patterns from FILE
--files-from=FILE read list of source-file names from FILE
因此,首先运行rsync -i
并将其输出到文件并使用--files-from
选项,或者您可以使用find
实用程序查找最后修改的文件,然后查找rsync
它们。看https://serverfault.com/questions/115945/synchronizing-very-large-folder-structs