Upstream fixo: link
Citação:
Fix 'olddir' usage with wildcard in the middle of path in the pattern…
… definition when the pattern did not match any log file.
RHEL 7
logrotate-3.8.6-7.el7_2.x86_64
Em um servidor Linux RedHat, tenho um grande conjunto de servidores de aplicativos em execução e desejo uma rotina de logrotate uniforme para limpar os arquivos de log. Usar curingas é fundamental, por isso não preciso manter uma lista constantemente crescente e decrescente.
Combinar curingas, a opção "missingok" e "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
}
Vejo que há uma correção de longa data no link que corrige o problema com curinga e missingok, mas alguém viu ou corrigiu o problema com o olddir?
Estou pensando em pular o olddir e usar o postrotate + find / mv, mas gostaria de não ter que fazer isso.
Upstream fixo: link
Citação:
Fix 'olddir' usage with wildcard in the middle of path in the pattern…
… definition when the pattern did not match any log file.
Eu encontrei o mesmo problema.
Assista o diretório com /var/logs/*/*/*.log e use o "missingok" e "olddir" juntos.
Se não houver nenhum log nesse diretório, ele reclamará:
erro ao verificar o caminho do arquivo de log / var / logs / * / *: Nenhum arquivo ou diretório desse tipo
@sastorsl como você faz então?
Meu logrotate 3.7.8.
Parece que foi corrigido em 3.11.0.