我使用rsync来自动定期同步一个由多个人使用的Linux服务器上的根用户的主目录。用户需要的一项服务是通过sshfs挂载远程目录。然而,当存在sshfs挂载时,rsync会失败并显示以下消息。
由于这个错误,自动同步不能按预期工作,特别是由于跳过文件删除和非零退出代码。同步仅对安装了home的文件系统必要,所以期望的行为是忽略sshfs挂载。-x / --one-file-system rsync选项无法解决此问题。
这个问题在https://www.agwa.name/blog/post/how_fuse_can_break_rsync_backups中得到了清晰的解释。后续文章(https://www.agwa.name/blog/post/easily_running_fuse_in_an_isolated_mount_namespace)提出了一个解决方案,但不可接受,因为fuse挂载只对创建该挂载点的进程可见。
我正在寻找一种不影响sshfs可用性且对用户透明的解决方案。
rsync: readlink_stat("/home/???/???") failed: Permission denied (13)
IO error encountered -- skipping file deletion
...
rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1183) [sender=3.1.1]
由于这个错误,自动同步不能按预期工作,特别是由于跳过文件删除和非零退出代码。同步仅对安装了home的文件系统必要,所以期望的行为是忽略sshfs挂载。-x / --one-file-system rsync选项无法解决此问题。
这个问题在https://www.agwa.name/blog/post/how_fuse_can_break_rsync_backups中得到了清晰的解释。后续文章(https://www.agwa.name/blog/post/easily_running_fuse_in_an_isolated_mount_namespace)提出了一个解决方案,但不可接受,因为fuse挂载只对创建该挂载点的进程可见。
我正在寻找一种不影响sshfs可用性且对用户透明的解决方案。