텍스트 파일을 사용하는 Rsync 제외 디렉터리가 작동하지 않습니다.

텍스트 파일을 사용하는 Rsync 제외 디렉터리가 작동하지 않습니다.

백업을 생성하는 다음 명령이 있는데 rsync웹사이트에서 캐시 폴더를 제외하고 싶습니다.

rsync -aAXv --delete --exclude-from='/usr/local/maxicron/rsync/conf/exclude.txt' /home/admin/domains/server.com/public_html /backup/rsync/local

데모 목적으로 내용은 exclude.txt한 줄입니다.

/home/admin/domains/server.com/public_html/var/cache/*

이 명령은 public_html에서 백업을 생성하여 작동하지만 여전히 url을 사용하여 백업 파일에 캐시 폴더가 생성됩니다 /backup/rsync/local. 예상되는 결과는 폴더 캐시에 아무 것도 포함되지 않아야 한다는 것입니다.

exclude-from명령이 소스 백업의 절대 경로를 사용한다는 내용을 어딘가에서 읽었습니다 . 그래서 이 제외 줄도 변경했습니다.

/home/admin/domains/server.com/public_html/var/cache/*

이와 관련하여

/var/cache/*

또는

var/cache/*

또는

./var/cache/*

하지만 그 중 어느 것도 작동하지 않습니다. 여전히 캐시 폴더가 생성되어 있습니다. 오류도 없습니다. 어떤 아이디어가 있나요?

답변1

남자들에 따르면페이지/var/cache/**캐시 폴더에 하위 폴더가 포함된 경우 두 개의 별표( )가 도움이 될 수 있습니다.

a는 *모든 경로 구성 요소와 일치하지만 슬래시에서 중지됩니다.

슬래시를 포함하여 무엇이든 일치시키는 데 사용됩니다 **.

답변2

텍스트 파일에 선언된 절대 경로가 왜 작동하지 않는지 잘 모르겠습니다. 그래서 아래와 같이 rsync라는 또 다른 옵션을 추가 --relative하고 텍스트 파일 내에서 상대 경로를 유지했습니다.

작동 방식은 다음과 같습니다.

rsync -aAXv --relative --delete --exclude-from='/usr/local/maxicron/rsync/conf/exclude.txt' /home/admin/domains/server.com/public_html /backup/rsync/local

관련 정보