/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。