rsync에서 제외 된 파일을 포함하는 방법


16

를 제외한 모든 .*파일 을 제외하는 rsync를 설정하려고 .htaccess하지만 불행히도 작동하지 않습니다.

rsync -avP --exclude=".*" --include="./.htaccess" ./. user@server:/dir

일반적인 제외 규칙을 어떻게 든 제외 할 수 있습니까?

답변:


24

첫 번째 일치 규칙이 적용되므로 .htaccess제외하기 전에 포함하십시오 .*.

rsync -avP --include=".htaccess" --exclude=".*" . user@server:/dir

이것은 .htaccess모든 수준에서 복사 합니다. 나는 당신이 무엇을 의도했는지 모른다 ./.htaccess; 사본의 루트에서만 파일을 일치 시키려면으로 패턴을 시작하십시오 /. root 만 원할 경우 루트 가 아닌 규칙이 실제로 우선적으로 적용되므로을 .htaccess사용할 수 없습니다 --include='/.htaccess' --exclude='.*'. 더 복잡한 작업을 수행해야합니다.

rsync -avP --exclude='/*/**/.htaccess' --include='.htaccess' --exclude=".*" . user@server:/dir

추가 자료 : rsync 필터의 기본 원칙 .


@ fred.bear : 그 사람은 진정한 오타이었고 불쾌한 사람이었습니다. 그것을 발견해 주셔서 감사합니다!
Gilles 'SO- 악마 중지'

고마워, 나는 --include첫 번째를 시도했지만 "./.htaccess"앞에 "./"는 그것을 죽이고 있었다.
Rich

1
@Rich는 .htaccess파일 을 포함하는 숨겨진 디렉토리가있는 경우 --include='.*/', 마지막 단계 이전 에 (내 생각에)해야한다고 여기를--exclude 참조 하십시오.
Tobias Kienzler
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.