How to force rsync to create destination folder
例子:
1 | rsync /tmp/fol1/fol2/fol3/foln user@addr:/tmp/fol1/fol2/fol3/foln |
我的主要问题是文件夹/tmp/fol1在远程计算机上不存在。
我可以使用哪些参数强制rsync创建此树?
我今天碰到了同样的问题,在这里找到了解决办法。
您可以这样做:
1 | rsync -avR foo/bar/baz.c remote:/tmp/ |
或:
1 | rsync -avR somedir/./foo/bar/baz.c remote:/tmp/ |
在远程机器中创建/tmp/foo/bar/baz.c。
更多详情请参见
一个技巧是使用具有以下值的
1 | --rsync-path="mkdir -p /tmp/fol1 && rsync" |
通过--rsync路径,您可以指定在远程计算机中使用哪个程序来启动rsync,并在shell的帮助下运行。
您可以通过bash来实现这一点,并打开一个ssh隧道,生成您需要的文件结构,然后rsync数据。每次同步完成后,这些临时文件夹都会更改吗?这是一周中的每一天吗?
1 2 3 4 | ssh user@address mkdir -p tmp/fol1 rsync avz /tmp/fol1/fol2/fol3/foln user@addr:/tmp/fol1/fol2/fol3/foln fi |