시작 날짜 문제가 있는 logrotate 로그 파일

시작 날짜 문제가 있는 logrotate 로그 파일

다음과 같은 로그 파일이 있습니다. 로그 파일은 다음으로 끝납니다.date

catalina.out.2014-02-01
catalina.out.2014-02-02
catalina.out.2014-02-03
catalina.out.2014-02-04
catalina.out.2014-02-05
catalina.out.2014-02-06
...
...

내 로그로레이트 구성

/opt/tomcat7.0/logs/catalina.* {
  rotate 5
  missingok
  notifempty
  size 5M
  compress
  copytruncate
}

계속해서 잘리는 부분은 다음을 참조하세요. (샘플)

catalina.out.2014-04-17-20140419.gz
catalina.out.2014-04-17-20140419.gz-20140420.gz
catalina.out.2014-04-17-20140419.gz-20140420.gz-20140421.gz
catalina.out.2014-04-17-20140419.gz-20140420.gz-20140421.gz-20140422.gz
catalina.out.2014-04-17-20140419.gz-20140420.gz-20140421.gz-20140422.gz-20140423.gz
catalina.out.2014-04-17-20140419.gz-20140420.gz-20140421.gz-20140422.gz-20140423.gz-20140424.gz
catalina.out.2014-04-17-20140419.gz-20140420.gz-20140421.gz-20140422.gz-20140423.gz-20140424.gz-20140425.gz

답변1

당신이 구성한 것은 logrotate당신이 요청한 것을 수행하는 것입니다. 을(를) .*다음으로 바꿔보세요 .out.

/opt/tomcat7.0/logs/catalina.out {
  rotate 5
  missingok
  notifempty
  size 5M
  compress
  copytruncate
}

그렇지 않으면 이전 회전이 항상 포착될 것입니다. 왜냐하면 그것이 여러분이 구성한 것이기 때문입니다.

답변2

나는 또한 변경하는 것이 분명하다고 제안합니다 . 이는 일반적인 쉘 글로빙처럼 작동하므로 여러 번 .*사용할 수 있습니다 ?. *다음과 같습니다:

/opt/tomcat7.0/logs/catalina.*.????-??-?? {
  rotate 5
  missingok
  notifempty
  size 5M
  compress
  copytruncate
}

그게 일치할 거야catalina.out.2014-02-06그리고 일치하지 않습니다catalina.out.2014-04-17-20140419.gz

여기에서도 좋은 팁이 있습니다https://superuser.com/a/255970/312809, logrotate 구성을 확인하는 방법:

logrotate -d -f /etc/logrotate.conf
  • -d = 디버그 모드를 켭니다. 디버그 모드에서는 로그나 logrotate 상태 파일이 변경되지 않습니다.

  • -f = 필요하지 않다고 생각하더라도 logrotate에게 회전을 강제하도록 지시합니다.

관련 정보