rsync 控制服务器端哪些文件正在同步

rsync 控制服务器端哪些文件正在同步

/proc我正在尝试备份整个服务器。例如,我不想要像这样的路径sys。这是我的/etc/rsyncd.conf文件:

uid = 0
gid = 0
use chroot = true
read only = true
hosts allow = 10.11.12.13
hosts deny = 0.0.0.0

[slash]
  path = /
  files-from = <(find / -path /sys -prune -o -path /proc -prune -o -print0)

当我find单独启动命令时,我可以列出我想要的文件,但它不会列出其中print0的内容。/proc/sys

然而,在rsyncd.conf文件中,这个指令似乎没有被考虑到,并rsync试图获取我不想要的这些文件夹的全部内容。

我可以在客户端限制文件,但这不是我想要的,我希望这种限制在服务器端执行。

可以在该配置文件中完成此操作吗?

非常感谢!

答案1

我认为不会rsyncd.conf像您想象的那样扩展任何子 shell 命令的输出。查看 rsync 的源代码并没有清除 rsync 扩展列表,正如您在问题中详细说明的那样。阅读手册只会清楚地知道它需要一个带有 的字符串paths

在我看来,最好的选择是让 cronjob 在本地生成文件列表,并让 rsync 读取该文件。

我甚至建议您使用更适合的备份解决方案,例如 bareos 或 bacula,而不是 rsync。

相关内容