é uma possibilidade e você precisa testar:
cat /etc/logrotate.d/customapp
/var/log/app/*.old {
daily
missingok
rotate 0
notifempty
}
Por que girar 0?
If count is 0, old versions are removed rather than rotated. (source : man)
Eu tenho um aplicativo que roda seus próprios arquivos de log de hora em hora. A cada hora, desejo remover todos os arquivos com mais de n dias. Eu tenho que usar logrotate para fazer isso por causa da política de negócios.
Então, qual é o logrotate equivalente de executar este comando a cada hora?
find /var/log/app -name "*.old" -mtime +1 -exec rm -f {} \;
logrotate é executado uma vez por dia e o script pode ser encontrado aqui, /etc/cron.daily/logrotate (no CentOS 7). Se você quiser executá-lo a cada hora, primeiro é necessário movê-lo para /etc/cron.hourly/ . Então, para o comando acima, o script logrotate equivalente pode ter esta aparência,
$ cat /etc/logrotate.d/app
/var/log/app/*.old {
hourly
rotate 0
firstaction
/usr/bin/find /var/log/app/ -name "*.old" -mtime +1 -delete
endscript
nocreate
missingok
notifempty
}
Tags logrotate