ルートディレクトリ+他のディレクトリ内の*.jpg
すべてのファイルを同期しようとしています。/var/www/data/models/days/
/var/www/data
私は以下が欲しい:
rsync -az --delete --include='/models' --include='*.jpg' --exclude='*' $SRC::/var/www/data /var/www/data
しかし、何も同期されません。私は何が間違っていましたか?
*.jpg
注:同じファイル名match()を持つ別のディレクトリが必要なので、/models/daysを含めるようにソースやターゲットを変更したくありません。
答え1
/models
巡回には含まれていましたが、サブディレクトリは含まれませんでした。ディレクトリを除いて、rsyncはディレクトリを巡回せず、その内容を含めることはできません。
--include='*/'
すべてのサブディレクトリを含み、空のディレクトリをコピーしないため-m
に使用されます。詳細については、次を参照してください。Rsyncフィルタ:1つのパターンのみをコピー
答え2
オプション--include
では、主要なサブディレクトリ名を考慮する必要があります。以下を試してください**.jpg
。rsync関連の**
演算子は、スラッシュなどの文字と一致します。