rsync:我如何配置它以在服务器上创建目标目录?

我想从本地计算机到服务器的rsync 。 在一个不存在的目录上,我希望rsync首先在服务器上创建该目录。

我怎样才能做到这一点?


如果您创建的最后一个叶子目录不止一个,您可以先运行单独的ssh ... mkdir -p ,或者使用--rsync-path技巧,如下所述:

rsync -a --rsync-path="mkdir -p /tmp/x/y/z/ && rsync" $source user@remote:/tmp/x/y/z/

或者按照Tony的建议使用--relative选项。 在这种情况下,您只需指定必须存在的目标的根目录,而不指定将创建的源的目录结构:

rsync -a --relative /new/x/y/z/ user@remote:/pre_existing/dir/

这样,你将以/ pre_existing / dir / new / x / y / z /


假设你使用ssh来连接rsync,那么之前要发送一个ssh命令呢?

ssh user@server mkdir -p existingdir/newdir

如果它已经存在,没有任何反应


-R, --relative选项将执行此操作。

例如:如果要备份/var/named/chroot并在远程服务器上创建相同的目录结构,则-R将执行此操作。

链接地址: http://www.djcxy.com/p/97151.html

上一篇: rsync: how can I configure it to create target directory on server?

下一篇: What is the cleanest way to ssh and run multiple commands in Bash?