我想rsync从本地计算机到服务器.在不存在的rsync目录上,我想首先在服务器上创建该目录.
我怎样才能做到这一点?
我正在寻找一个rsync类似程序,它将在远程端创建任何缺少的父目录.
例如,如果我/top/a/b/c/d在一台服务器上并且只/top/a存在于远程服务器上,我想复制d到远程服务器并创建b和c目录.
命令:
rsync /top/a/b/c/d remote:/top/a/b/c
Run Code Online (Sandbox Code Playgroud)
将无法工作,因为/tmp/a/b远程服务器上不存在.如果确实存在,那么文件d将被复制到路径中/top/a/b/c.
这可能与rsync使用--include和--exclude切换有关,但它非常复杂,例如:
rsync -v -r a dest:dir \
--include 'a/b' \
--include 'a/b/c' \
--include 'a/b/c/d' \
--include 'a/b/c/d/e' \
--exclude 'a/*' \
--exclude 'a/b/*' \
--exclude 'a/b/c/*' \
--exclude 'a/b/c/d/*'
Run Code Online (Sandbox Code Playgroud)
即使中间目录有文件,也只会复制a/b/c/d/e到dest:dir/a/b/c/d/e.(注意 - 包含必须在排除之前.)
还有其他选择吗?