다양한 디렉토리 레벨에서 특정 서브 디렉토리 세트 및 해당 컨텐츠를 재귀 적으로 재 동기화


0

다음과 유사한 디렉토리 구조가 있습니다.

/master /apps /app1 myapp.app /.checksum 20181105.chk 20181230.chk check.sh /app2 anotherapp.app /.checksum 20181010.chk 20181229.chk 20181239.sum check.sh /app3 /sub-category1 yetanotherapp.app /.checksum 20170605.chk 20180330.chk check.sh /sub-category2 /sub-category2a someotherapp.app /.checksum 20170702.chk 20180330.chk 20181202.sum check.sh /sub-category2aa myfinalapp.app /.checksum 20170405.chk 20180919.chk check.sh /games /game1 myfirstgame.bin myfirstgame.dat /.checksum 20170702.chk 20181202.sum check.sh /game2 /sub-category1 /sub-category1a /sub-category1aa anothergame.bin /.checksum 20181221.sum check.sh /sub-category1aaa game_extension.bin /.checksum 20170405.chk 20180919.chk check.sh

/.checksum 디렉토리에는 다양한 파일 확장자 ( .chk , .sh , .sum 등)가 있는 여러 파일이 있습니다 . 각 /.checksum 디렉토리 만 (그 내용을 포함하여) / master 아래의 하나의 하위 디렉토리에있는 .checksum 이라는 하나의 디렉토리로 재배치하고 싶습니다 . / master에 있는 것과 동일한 구조 에서 내용을 뺀 것과 동일한 구조를 복제해야합니다 . 또한 각 원래 /.checksum 디렉토리 의 내용을 상위 디렉토리로 재배치 하고 /.checksum 디렉토리를 삭제해야합니다. 궁극적으로 위의 구조는 다음과 같아야합니다.

/master /apps /app1 myapp.app /app2 anotherapp.app /app3 /sub-category1 yetanotherapp.app /sub-category2 /sub-category2a someotherapp.app /sub-category2aa myfinalapp.app /.checksum /apps /app1 20181105.chk 20181230.chk check.sh /app2 20181010.chk 20181229.chk 20181239.sum check.sh /app3 /sub-category1 20170605.chk 20180330.chk check.sh /sub-category2 /sub-category2a 20170702.chk 20180330.chk 20181202.sum check.sh /sub-category2aa 20170405.chk 20180919.chk check.sh /games /game1 20170702.chk 20181202.sum check.sh /game2 /sub-category1 /sub-category1a /sub-category1aa 20181221.sum check.sh /sub-category1aaa 20170405.chk 20180919.chk check.sh /games /game1 myfirstgame.bin myfirstgame.dat /game2 /sub-category1 /sub-category1a /sub-category1aa anothergame.bin /sub-category1aaa game_extension.bin

나는 rsync다음 필터를 사용 하여이 작업을 시도했습니다 .

rsync -arv -R /master/ /master/.checksum/ --files-from=/master/.rsync/rsync_checksum_inclusions

여기서 /master/.rsync/rsync_checksum_inclusions 는 다음을 포함합니다. **/ **/.checksum/**

또한 필터를 rsync명령에 직접 포함 시키려고합니다 . rsync -arv -R -m --include='**/' --include='**/.checksum/**' --exclude='*'/master/ /master/.checksum/

그러나 둘 다 아무것도 복사하지 않습니다.

include-from매개 변수를 사용 하고 파일 _rsync_checksum_inclusions_를 조정 하려고 했습니다. + */.checksum + *.chk + *.sum + *check.sh*

그러나 모든 디렉토리의 모든 파일 을 복사 합니다 . 필터를 포함하여 - *아무것도 복사하지 않습니다.

서브 디렉토리 세트어떻게 동기화 할 수 있습니까? , 나는 /.checksum 디렉토리의 rsync일부 를 다양한 수준 으로 할 수 있었지만 전부는 아닙니다. 잘못된 패턴을 사용하고 있다고 생각합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.