rsync를 사용하여 스키마와 해당 콘텐츠가 있는 폴더만 가져오기

rsync를 사용하여 스키마와 해당 콘텐츠가 있는 폴더만 가져오기

나는 인터넷을 샅샅이 뒤지고, 정규식 사이트와 그 밖의 모든 것을 살펴보았지만, 내가 원하는 것을 얻기 위해 rsync 명령을 작성할 수 없습니다.

FreeBSD 버전을 미러링해야 하지만 RC 버전과 BETA 버전은 미러링하지 않아야 합니다. 따라서 이름에 RELEASE가 포함된 폴더를 해당 폴더의 모든 파일 및 하위 폴더와 함께 rsync합니다.

이 시점에서 나는 성공하지 못한 채 다음 명령을 실행했습니다.

rsync -vaz --delete --dry-run ftp2.br.freebsd.org::FreeBSD/releases/amd64 /usr/repos --include=".{0,}(RELEASE)" --filter="-! */"

다음 폴더 구조를 상상해 봅시다.

amd64/8.3-RELEASE/
amd64/8.4-RC2/
amd64/amd64/10.0-RC5/
amd64/amd64/10.0-RELEASE/
amd64/amd64/9.1-RELEASE/
amd64/amd64/9.2-BETA1/
amd64/amd64/9.2-BETA2/
amd64/amd64/9.2-RC1/

이 경우 rsync는 다음만 가져와야 합니다.

amd64/8.3-RELEASE/
amd64/amd64/10.0-RELEASE/
amd64/amd64/9.1-RELEASE/

답변1

이 시도:

$ rsync -vaz --delete --dry-run ftp2.br.freebsd.org::FreeBSD/releases/amd64 /usr/repos \
    --include="*RELEASE/***" --include="*/" --exclude="*" --prune-empty-dirs

내 생각엔 그게 당신이 쫓는 일인 것 같아요.

관련 정보