要求 rsync 创建*任何*必要的目录

要求 rsync 创建*任何*必要的目录

我在 zsh 中有以下循环:

 for x in my_folders*; 
 do 
   rsync -adrv $x/foo/bar/ /foo2/bar2/new_dir/$x/
 done

new_dir在调用 之前不存在rsync,我想rsync创建它以及复制操作所需的所有其他内容。

我正在传递rsync标志dr但它抱怨:

rsync: mkdir "/foo2/bar2/new_dir/item1" failed: No such file or directory (2)

它显然假设文件夹/foo2/bar2/new_dir/$x/在复制之前就存在,但事实并非如此。有了这个:

  • 有没有办法要求 rsync 创建任何复制操作工作所需的必要目录?

答案1

查看rsync手册页,我没有看到适合您场景的选项。但是,在开始同步之前手动添加目录如何避免出现问题呢?

for x in my_folders*; 
do  
   mkdir -p "/foo2/bar2/new_dir/$x"
   rsync -adrv "$x/foo/bar/" "/foo2/bar2/new_dir/$x/"
done

相关内容