我在 zsh 中有以下循环:
for x in my_folders*;
do
rsync -adrv $x/foo/bar/ /foo2/bar2/new_dir/$x/
done
Run Code Online (Sandbox Code Playgroud)
new_dir在调用 之前不存在rsync,我想rsync创建它,以及复制操作所需的所有其他内容。
我正在传递rsync标志d,r但它抱怨:
rsync: mkdir "/foo2/bar2/new_dir/item1" failed: No such file or directory (2)
Run Code Online (Sandbox Code Playgroud)
它显然假设文件夹/foo2/bar2/new_dir/$x/在复制之前就存在,而事实并非如此。有了这个:
查看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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3421 次 |
| 最近记录: |