1行に複数のディレクトリをrsync

1行に複数のディレクトリをrsync

複数行で実行できる簡単な作業がありますが、12の別々の行を使用するのではなく、1つのcronジョブを介して1行で実行したいと思います。設定は次のとおりです。

画像処理共有には、画像をインポートして場所やその他の状況に応じて12の異なるフォルダに移動するフォルダがあります。フォルダ名は1a、2a、3a、4a、5a、6aなどから12aまでです。フォルダ1a-6aはdr01にインストールされているドライブに移動し、フォルダ7a-12aはdr02というインストールフォルダに移動する必要があります。各#aフォルダには、その中に多くのサブフォルダとファイルがあります。

だから私は1日2回../images/1aを..DR01/1aに同期したいと思います。以下を使用して、各フォルダに対して個別にこれを実行できます。

rsync -avh --remove-source-files /images/1a/ /usr/local/blah/dr02/1a/

ディレクトリ全体を同期できるようにしたいのですが、ファイルの半分は共有され、残りの半分は共有されるため、分割する必要があります。

各フォルダを同期するために12のrsyncタスクを作成せずにこれを実行するより良い方法はありますか? rsync 行などにグループ化する方法はありますか?私はDRを統合するためにUnion-fsを使用しましたが、もはや実行可能なオプションではありません。

この問題を解決するのに役立つヒントを事前にお知らせいただきありがとうございます。

ベストアンサー1

タイプ構成を拡張できるシェルがあると仮定すると、{x..y}このようなことがうまくいく可能性があります。 (すべての行にプレフィックスを付けてコマンドラインでこれをテストしますecho。)

rsync -avh --remove-source-files /images/{1..6}a /mnt/dr01/
rsync -avh --remove-source-files /images/{7..12}a /usr/local/blah/dr02/

おすすめ記事