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フラグを渡していますが、次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

関連情報