Temos os seguintes arquivos de log, arquivo de log terminando comdate
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
...
...
Minha configuração de logrorate
/opt/tomcat7.0/logs/catalina.* {
rotate 5
missingok
notifempty
size 5M
compress
copytruncate
}
Está truncando repetidamente, veja a seguir, (exemplo)
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
Responder1
Pelo que você configurou, logrotate
está fazendo o que você pediu. Tente substituir .*
por .out
:
/opt/tomcat7.0/logs/catalina.out {
rotate 5
missingok
notifempty
size 5M
compress
copytruncate
}
Caso contrário, as rotações antigas sempre serão capturadas, porque foi isso que você configurou.
Responder2
Sugiro também que seja óbvio mudar .*
, funciona como globbing normal do shell para que você possa usar ?
várias *
vezes. Igual a:
/opt/tomcat7.0/logs/catalina.*.????-??-?? {
rotate 5
missingok
notifempty
size 5M
compress
copytruncate
}
que vai combinarcatalina.out.2014-02-06e não vai combinarcatalina.out.2014-04-17-20140419.gz
também boa dica daquihttps://superuser.com/a/255970/312809, como verificar a configuração do logrotate:
logrotate -d -f /etc/logrotate.conf
-d = Ativa o modo de depuração. No modo de depuração, nenhuma alteração será feita nos logs ou no arquivo de estado logrotate.
-f = Diz ao logrotate para forçar a rotação, mesmo que não ache que isso seja necessário.