rsync
リモート側で不足している親ディレクトリを作成するようなプログラムを探しています。
たとえば、/top/a/b/c/d
1 つのサーバー上にあり、リモート サーバーにのみ存在する場合、リモート サーバーにコピーして、ディレクトリとディレクトリも作成し/top/a
たいと考えています。d
b
c
コマンド:
rsync /top/a/b/c/d remote:/top/a/b/c
/tmp/a/b
はリモート サーバーに存在しないため、機能しません。存在する場合、ファイルd
は path にコピーされます/top/a/b/c
。
これはおよびスイッチをrsync
使用して行うことができますが、非常に複雑です。--include
--exclude
rsync -v -r a dest:dir \
--include 'a/b' \
--include 'a/b/c' \
--include 'a/b/c/d' \
--include 'a/b/c/d/e' \
--exclude 'a/*' \
--exclude 'a/b/*' \
--exclude 'a/b/c/*' \
--exclude 'a/b/c/d/*'
中間ディレクトリにファイルがある場合でもコピーするだけa/b/c/d/e
です。dest:dir/a/b/c/d/e
(注 - インクルードはエクスクルードより前にある必要があります。)
他のオプションはありますか?