正如我所看到的,rsync
如果文件路径中的某些目录不存在,则无法同步文件。为什么它不使用mkdir -p
命令创建此目录?也许它有一个选择吗? -r
选项在这种情况下不起作用。
答案 0 :(得分:9)
有人在这里问了一个类似的问题:
rsync: how can I configure it to create target directory on server?
rsync
看起来不像那样。在执行mkdir -p
之前,您必须编写一个在目标目录上执行rsync
的包装脚本。如果目标目录位于其他服务器上,则可以通过mkdir -p
在脚本中运行ssh
命令。
答案 1 :(得分:3)
如果远程目标的目录是“/root/test
”并且我想使用rsync
将我的文件复制到远程目录“{{1}”,我遇到了与您相同的问题。 }“,然后”/root/test/aaa/bbb
“将详细说明。
最好的解决方案是,命令“failed: No such file or directory (2)
”以递归方式在远程主机上创建子目录。然后使用ssh <username>@<remoteHostIP> mkdir -p <absolute_path>
命令将成功。