Excluir arquivos com logrotate

12

É possível apagar os arquivos de log em um diretório usando logrotate sem realmente rotacioná-los? Temos um aplicativo que gera logs no seguinte formato: app.log.DD_MM_YYYY. Não tenho sucesso com o logrotate tendo a seguinte configuração:

/opt/log/app/app.log.* {
         rotate 0
         missingok
         nomail
}

Pode logar rotate fazer isso ou devo apenas escrever um script e colocá-lo dentro do cron?

Melhor -Iuliano

    
por Iulian 24.07.2015 / 18:23

2 respostas

13

Nesse caso, você pode querer usar postrotate. No exemplo abaixo, o postrotate excluirá os arquivos com mais de um dia após a rotação dos logs. Sinta-se à vontade para modificá-lo para atender às suas necessidades.

/opt/log/app/app.log.* {
        missingok
        nomail
postrotate
        /usr/bin/find /opt/log/app/ -name "app.log.*" -type f -mtime +0 -exec rm {} \;
endscript
}
    
por 04.08.2015 / 16:32
3

O objetivo do logrotate é manter um número personalizado de arquivos de log em um intervalo de tempo personalizado. Eu usaria o cron para sua tarefa. Mais sobre o que você pode fazer com o logrotate aqui: link

    
por 24.07.2015 / 21:44