файл журнала 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
...
...

Моя конфигурация logrorate

/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 о необходимости принудительного вращения, даже если он не считает это необходимым.

Связанный контент