63

rsyncリモート側で不足している親ディレクトリを作成するようなプログラムを探しています。

たとえば、/top/a/b/c/d1 つのサーバー上にあり、リモート サーバーにのみ存在する場合、リモート サーバーにコピーして、ディレクトリとディレクトリも作成し/top/aたいと考えています。dbc

コマンド:

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(注 - インクルードはエクスクルードより前にある必要があります。)

他のオプションはありますか?

4

7 に答える 7