如何让 --rsync-path 选项与 rsync 守护进程一起工作

如何让 --rsync-path 选项与 rsync 守护进程一起工作

我目前正在用 python 编写一个自动备份系统,它将根据当前运行的用户、机器和操作系统动态同步到服务器上的特定目录。

如果用户、系统、操作系统和同步目录尚不存在,我将尝试在创建它们时使以下命令发挥作用。

rsync -arvR --password-file=./rsyncdpw --rsync-path="mkdir -p /srv/backupdir/jim/desktop/Linux/sync/ && rsync" ./20160602BU user@server::backup/jim/desktop/Linux/sync/

如果目录不存在,则不会创建目录,并且命令失败:

发送增量文件列表
rsync:mkdir“/jim/desktop/Linux/sync”(在备份中)失败:没有此文件或目录 (2)
rsync 错误:main.c(674) 处文件 IO 错误(代码 11)[Receiver=3.1.1]

如果目录已经存在,该命令可以完美运行。此外,当未连接到守护进程时,我已使 --rsync-path 选项正常工作。以下命令正确创建了所有目录并按预期同步文件。

rsync -rvR --rsync-path="mkdir -p /srv/backupdir/jim/desktop/Linux/sync/ && rsync" ./20160602BU jim@filesrv:/srv/backupdir/jim/desktop/Linux/sync/

守护进程的 rsync.conf 中的备份模块指定 /srv/backupdir 作为其目录,因此我尝试仅创建 /jim/desktop/Linux/sync 来补充这一点,并且我还尝试了绝对路径。两种方法都失败,输出相同。

我在编写系统其他部分的间隙为此苦苦挣扎了好几天。我几乎完成了系统,但在这一部分遇到了障碍。

谢谢你尽你所能的帮助。

相关内容