zshには次のループがあります。
for x in my_folders*;
do
rsync -adrv $x/foo/bar/ /foo2/bar2/new_dir/$x/
done
new_dir
呼び出し前には存在しません。これを作成し、コピー操作に必要なすべてを作成したいとrsync
思います。rsync
rsync
フラグを渡していますが、次d
のようにr
文句を言います。
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