크론 작업을 설정하려고 하는데 이 작업이 처음입니다. 생성된 새로운 데이터를 분석하는 것이 목적입니다. 데이터가 디렉터리에 존재합니다.
아직 분석되지 않은 최신 데이터/데이터만 동기화하고 싶습니다. 이에 대해 분석된 디렉터리 목록(제외 예정)을 생성했습니다. 특정 스키마가 있는 소스의 데이터를 대상으로 동기화하려면 다음 명령을 사용하고 있습니다.
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
두 가지 질문이 있습니다.
먼저 제외 경로를 절대 경로가 아닌 상대 경로로 정의했습니다. 앞에 "/"를 추가해 보세요.
두 번째는 소스 경로를 명시적으로 제공했기 때문에 제외가 무시될 것이라고 생각합니다.
제외 목록에서 경로를 제거하면 원하는 방식으로 작동할 수 있습니다. 즉, 제외 파일이 하나만 있을 수 있습니다. 예:
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/"
(제외 및 포함 순서가 중요하며 첫 번째 일치 항목이 적용됩니다.)
그러나 이렇게 하면 대상 디렉터리의 소스 디렉터리 구조가 유지되며 이는 원하는 것일 수도 있고 그렇지 않을 수도 있습니다.