
매 시간마다 두 개의 로그 파일을 모든 사용자가 접근할 수 있는 로그 저장소로 전송해야 하며 이를 위해 rsync를 사용하지만 로그 파일이 회전되고 자동으로 압축될 때 문제가 발생합니다. rsync는 새로운 파일이 있음을 감지합니다. 파일을 전송했고 그 파일도 전송되었습니다. 이는 대상 서버에 다음이 있다는 의미입니다.
example.log.2014-01-17--00
그리고
example.log.2014-01-17--00.gz
이는 동일한 로그 파일이지만 gzip -9로 압축되었습니다.
이것은 내 rsync 라인이며 스크립트에 포함되어 있습니다.
rsync -rvzt --include "*/" --include "$pattern" --exclude "*" $directory [email protected]:/home/user/directory/$subdir/$basefilename
crontab에 의해 매시간 실행되며, 전송하려는 경로와 패턴이 포함된 파일에 포함된 $pattern 및 $directory와 일치하는 모든 파일을 전송합니다.
그래서 제 질문은 제가 본 적이 없는 rsync 옵션이 있는지, 아니면 그렇게 할 수 있는 가능성이 있는지, 어떻게 할 것인지입니다.
미리 감사드립니다.
답변1
rsyslog 전달 [1] 사용을 고려해 보셨나요?
또한 [2]에서 추가하면 --exclude '*.gz'
문제가 해결될 것 같습니다. 왜 당신을 --exclude '*'
? 내가 읽은 내용은 모든 파일이 동기화에서 제외된다는 것입니다.
[1]http://www.rsyslog.com/storing-and-forwarding-remote-messages/
[2]http://www.thegeekstuff.com/2011/01/rsync-exclude-files-and-folders/