リストを除くRsyncファイル

リストを除くRsyncファイル

クローンジョブを設定しようとしていますが、これは初めてです。生成された新しいデータを分析することが目的です。データがディレクトリに存在します。

まだ分​​析されていない最新のデータ/データのみを同期したいと思います。これに対して分析されたディレクトリのリスト(除外予定)を作成しました。特定のスキーマを持つソースのデータをターゲットに同期するには、次のコマンドを使用しています。

rsync -av --exclude-from=/home/list1 /datasets001/*/Pr*/*RNA* $TMPDIR/raw_fastq

問題は、上記のコマンドが次のコマンドと同じように動作し、list1に記載されているデータを除外しないことです。

rsync -av  /datasets001/*/Pr*/*RNA* $TMPDIR/raw_fastq

list1の数行は次のようになります。

datasets001/demux_182_160415_D00163_0376_BHCYVHBCXX_PM155__uid1849/Project_PM155/Sample_PM155_ORG9_1_Case_RNASeq
datasets001/demux_182_160415_D00163_0376_BHCYVHBCXX_PM601__uid1848/Project_PM601/Sample_PM601_PDX10_1_Case_RNASeq

また、新しいデータ同期と分析(日付基準)に関する他の提案も歓迎します。

答え1

2つの質問があります。

まず、除外パスを絶対パスではなく相対パスとして定義しました。前に「/」を追加してみてください。

2番目は、ソースパスを明示的に提供したため、除外は無視されると思います。

除外リストからパスを削除すると、任意の方法で機能できます。つまり、除外ファイルが1つしかない可能性があります。例:

Sample_PM155_ORG9_1_Case_RNASeq
Sample_PM601_PDX10_1_Case_RNASeq

または、次のものを使用することもできます。

rsync -av --exclude-from=/home/list1 \
          --include='/' --include='/*' --include='/*/Pr*' --include='/*/Pr*/*RNA*' \
          --exclude='*' \
          /datasets001/ "$TMPDIR/raw_fastq/"

(除外と包含順序が重要であり、最初の一致が適用されます。)

ただし、これにより、ターゲットディレクトリのソースディレクトリ構造が維持され、これは必要なものでもそうでない場合もあります。

関連情報