나는 인터넷을 샅샅이 뒤지고, 정규식 사이트와 그 밖의 모든 것을 살펴보았지만, 내가 원하는 것을 얻기 위해 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
내 생각엔 그게 당신이 쫓는 일인 것 같아요.