大きなディレクトリ構造内のすべてのファイルを単一のルート ディレクトリに同期しようとしています (つまり、サブ ディレクトリを作成せずに、すべての再帰ファイルを含めます)。
環境:
- Ubuntu 12.04 x86
- RSYNC バージョン 3.0.9
- GNU bash バージョン 4.2.25(1)
これまでのところ、正常に動作し、必要な基本的なコア機能を提供する bash スクリプトからこのコマンドを呼び出しました。
shopt -s globstar
rsync -adv /path/to/source/**/. /path/to/dest/. --exclude-from=/myexcludefile
の内容は次のmyexcludefile
とおりです。
filename
*/
# the */ prevents all of the directories appearing in /path/to/dest/
# other failed attempts have included:
directory1
directory1/
directory1/*
ソース ツリーの特定のディレクトリ内にあるファイルを除外する必要があります。ただし、すべてのディレクトリを検索する globstar アプローチにより、rsync は除外するディレクトリを一致させることができません。/*
つまり、 myとrulesを除いて、他のfilename
すべては完全に無視されます。
したがって、excludes 構文について、または globstar アプローチを使用しない単一の宛先ディレクトリへの多くのディレクトリの rsync を実現する別の方法があるかどうかについて、いくつかの支援を探しています。
ヘルプやアドバイスをいただければ幸いです。