티스토리 뷰

logrotate로 톰캣 로그 관리

정해진 시간마다 로그 파일을 백업시켜주는데, 로그 파일이 무작정 늘어나는 것을 방지하기 위해 로그 파일의 최대 개수를 정해놓으면 최대 개수를 초과했을 때 가장 오래된 로그 파일을 삭제하고 새로운 로그 파일을 생성하면서 rotating 해주는 툴이다.

 

원리

/etc/logrotate.d/* 밑에 파일을 두면 자동으로 셋팅된다.  logrotate.conf 에서 /etc/logrotate.d/* 파일들을 include 하고 있기 때문

 

작성방법

vi /etc/logrotate.d/tomcat

내용

${톰캣경로}/logs/catalina.out {
 copytruncate
 daily
 size 100M
 rotate 30
 compress
 missingok
 notifempty
 dateext
}

옵션

  • copytruncate : 기존 파일을 백업해서 다른 파일로 이동하고 기존 파일은 지워버리는 옵션
  • daily : 로그파일을 날짜별로 변환
  • compress : 지나간 로그파일들을 gzip으로 압축
  • dateext : 순환된 로그파일의 날짜확장자
  • missingok : 로그파일이 없더라도 오류를 발생시키지 않음
  • rotate 30 : 로그 파일은 30개만큼 저장된 다음 제거
  • notifempty : 파일 비어있으면 새로운 로그 파일을 생성 안함
  • postrotate-endscript : 로그파일 처리 후에 해당 명령어를 실행
  • size 100M :   사이즈가 100M가 되면 로테이트 됨

테스트 실행명령

/usr/sbin/logrotate -f /etc/logrotate.d/tomcat