arquivos Rsync, excluindo uma lista

2

Estou trabalhando na configuração de tarefas do cron e sou novo nisso. O objetivo é analisar os novos dados que são gerados. Os dados estão presentes nos diretórios.

Eu quero sincronizar apenas os dados mais recentes / que não foram analisados para os quais criei uma lista de diretórios que foram analisados (a serem excluídos) .O comando abaixo que estou usando para sincronizar dados da origem com um determinado padrão para o destino.

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

O problema é que o comando acima se comporta como o comando abaixo e não exclui nenhum dado mencionado na lista1.

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

poucas linhas da lista1 estão presentes abaixo:

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

Além disso, quaisquer outras sugestões para sincronizar os novos dados e analisá-los (com base na data) são bem-vindos.

    
por Ron 01.06.2016 / 23:06

1 resposta

2

Existem dois problemas;

O primeiro é que você definiu os caminhos exclude-from como caminhos relativos em vez de absolutos; tente adicionar um '/' principal.

A segunda é que você forneceu explicitamente os caminhos de origem, que (eu acho) vão substituir o exclude-from.

Se você remover os caminhos da lista de exclusão, ela poderá funcionar do jeito que você deseja, ou seja, ter apenas um arquivo de exclusão como:

Sample_PM155_ORG9_1_Case_RNASeq
Sample_PM601_PDX10_1_Case_RNASeq

Ou você pode usar algo como:

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

(observe que a ordem de exclusão e inclusão é importante, a primeira correspondência se aplica)

Isso, no entanto, preservará a estrutura de diretório de origem no diretório de destino, que pode ou não ser o que você deseja.

    
por 01.06.2016 / 23:44

Tags