rsync --filter / -F 和 --files-from 选项如何交互?

rsync --filter / -F 和 --files-from 选项如何交互?

我使用 rsync 进行备份,从远程服务器提取文件。我使用 remote:/ 作为源目录,并使用 files-from 指定要备份的目录:

rsync -ar --delete source-server:/ --files-from=dirlist --link-dest=../backup.previous backup.new

现在我想排除远程上的几个目录,而不是管理本地机器上的排除列表,我想使用过滤器选项通过添加“-F”在远程服务器上使用 .rsync-filter 文件来管理它们:

rsync -ar --delete source-server:/ --files-from=dirlist -F --link-dest=../backup.previous backup.new

现在出现了问题:.rsync-filter 文件中指定的排除规则不起作用。如果我这样做进行测试:

rsync -ar source-server:/some/dir -F localbackup

一切都按预期进行。所以我猜想 -F 和 --files-from 选项之间存在一些干扰,我无法解决。有什么想法吗?

答案1

我不认为你可以一起使用-F和,--files-from因为的目的--files-from是提供一个精确的将传输哪些文件的规范。

作为替代方案,您可以使用远程目标,--files-from我认为这比在两个地方定义备份更好。您可以写入--files-from=:/path/to/dirlist(注意冒号),指定的路径将在远程服务器而不是本地服务器上查找。使用此方法,您可以将包含和排除保存在远程服务器上的同一个文件中。

相关内容