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
}

일치합니다카트리나.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에 지시합니다.

관련 정보