【发布时间】:2012-12-09 05:11:51
【问题描述】:
我可以看到rsync 如果文件路径中的某些目录不存在,则无法同步文件。为什么它不使用mkdir -p 命令创建此目录?也许它有一个选择? -r 选项在这种情况下不起作用。
【问题讨论】:
我可以看到rsync 如果文件路径中的某些目录不存在,则无法同步文件。为什么它不使用mkdir -p 命令创建此目录?也许它有一个选择? -r 选项在这种情况下不起作用。
【问题讨论】:
这里有人问过类似的问题:
rsync: how can I configure it to create target directory on server?
看起来rsync 无法做到这一点。在执行rsync 之前,您必须编写一个在目标目录上执行mkdir -p 的包装脚本。如果您的目标目录在不同的服务器上,您也许可以通过ssh 在脚本中运行mkdir -p 命令。
【讨论】:
--relative 选项确实使 rsync 创建所需的目录。
--rsync-path="mkdir -p /dir && rsync" 也不会创建目录。在发出 rsync 命令之前,我编写了一个 shell 脚本并创建了新的 /dir 。它是这样工作的。
我也遇到了和你一样的问题,如果远程目标的目录是“/root/test”,我想用rsync将我的文件复制到远程目录“/root/test/aaa/bbb”,那么“@ 987654324@" 将详细说明。
最好的解决方案是,给出命令“ssh <username>@<remoteHostIP> mkdir -p <absolute_path>”以递归方式在远程主机上创建子目录。然后使用rsync 命令会成功。
【讨论】: