Plataforma:
RHEL 7
logrotate-3.8.6-7.el7_2.x86_64
Fundo:
Em um servidor RedHat Linux, tenho um grande conjunto de servidores de aplicativos em execução e desejo uma rotina de logrotate uniforme para limpar os arquivos de log. O uso de curingas é fundamental, por isso não preciso manter uma lista constantemente crescente e decrescente.
Questão:
Combinando curingas, a opção "missingok" AND "olddir" parece não funcionar. Quando eu defino um padrão para arquivos de log de depuração - que podem ou não existir - e só uso "missingok", tudo está bem. Se eu adicionar a opção "olddir", ela falhará com:
# logrotate -d /etc/logrotate.d/foobar
reading config file /etc/logrotate.d/foobar
olddir is now old_logs
error: /etc/logrotate.d/foobar:28 error verifying log file path /srv/www/servers/*/logs: No such file or directory
removing last 1 log configs
O arquivo de configuração:
/srv/www/servers/*/logs/*_foobar.txt
{
daily
olddir old_logs
missingok
}
Eu vejo que tem havido uma correção de longa data em http://rhn.redhat.com/errata/RHBA-2008-0703.html consertando o problema com curingas e missingok, mas alguém viu ou corrigiu o problema com o olddir?
Eu estou pensando em pular olddir e usar postrotate + find / mv, mas eu gostaria de não ter que fazer isso.
fonte