rsync 抛出 mkdir:无法创建目录“/data/dir_1/dir_2/dir_3/”:没有这样的文件或目录

dra*_*ool 6 command-line rsync 14.04 mkdir

我在/data. 目前这是空的。

我需要rsync执行mkdir -pmkdir我需要在第 4 级的文件,即/data/dir_1/dir_2/dir_3/filenamewhen dir_1dir_2并且dir_3不存在。

如果我手动创建所需的子目录,我可以使用以下命令执行 rsync:

rsync -avz source_diretory/ /data/dir_1/dir_2/dir_3
Run Code Online (Sandbox Code Playgroud)

但是如果我不创建子目录,这个命令会抛出一个错误:

mkdir: cannot create directory ‘/data/dir_1/dir_2/dir_3/’: No such file or directory
Run Code Online (Sandbox Code Playgroud)

我尝试谷歌搜索,阅读 rsync 的手册页,尝试使用-r -R但无法使其工作。

可以rsync执行类似的操作mkdir -p还是超出其范围?

Let*_*ety 8

rsync 命令不会创建目录树,因此您可以通过执行:

 mkdir -p /data/dir_1/dir_2/dir_3
Run Code Online (Sandbox Code Playgroud)

rsync命令或使用--rsync-path选项之前:

--rsync-path=PROGRAM 使用它来指定在远程机器上运行什么程序来启动 rsync。

你的命令应该是:

 rsync -avz source_diretory/ --rsync-path="mkdir -p /data/dir_1/dir_2/dir_3 && rsync" /data/dir_1/dir_2/dir_3
Run Code Online (Sandbox Code Playgroud)

这是一个有用的链接