私のディレクトリ構造は次のとおりです。
./model1
./model1/correct_data/file1.txt
./model1/bad_data/file1.txt
./model2
./model1/correct_data/file1.txt
./model1/bad_data/file1.txt
file1.txt
サブディレクトリにあるものだけを同期できます。correct_data
file1.txt
rsync は、次のように、すべてのサブディレクトリでのみ再帰的に同期するために使用できます。
rsync -zarvL --prune-empty-dirs --include "*/" --include="file1.txt" --exclude="*"' <from> <to>
correct_data
しかし、サブディレクトリに同期を追加する方法がわかりません。
答え1
私はこれを使用します
(
cd {from} &&
rsync -zavLR */correct_data/file1.txt {to}/
)
新しいコンポーネントは、-R
各ファイルのソースパスをターゲットルートディレクトリに適用することです{to}
。-r
で提案したように削除しました-a
。-z
ターゲットが実際にリモートターゲットである場合にのみ関連します。本当に本気ですか-L
?
cd {from}
サブシェルはコマンドの制限スコアを維持しますrsync
。