Especifique padrões de glob mais precisos ou coloque os diferentes logs de agendamento de rotação em diretórios separados. A linguagem de configuração do Logrotate é muito, muito limitada.
Eu tenho vários arquivos em /var/log/myapp/
que terminam em .log
. Então eu criei um
/var/log/myapp/*.log {
daily
create 644
rotate 90
compress
missingok
}
E isso funciona perfeitamente bem. Eu tenho vários tipos de log diferentes aqui e quero alterar a retenção em apenas alguns dos logs de acesso ( access_log_.log
) para ter uma retenção de apenas 45 dias. Como faço para separar esses dois e mudar o tempo de retenção? Se eu acrescentar um novo bloco como este:
/var/log/myapp/access_log_*.log {
daily
create 644
rotate 45
compress
missingok
}
A primeira vez que faz isso é a rotação normal do log e, em seguida, o log rotaciona essas rotações, criando um início enorme como bagunça. Qual é a melhor maneira de fazer isso?
Especifique padrões de glob mais precisos ou coloque os diferentes logs de agendamento de rotação em diretórios separados. A linguagem de configuração do Logrotate é muito, muito limitada.
Você terá que garantir que as expansões do nome de registro não se incluam.
Em primeiro lugar, eu tentaria renomear o access_log _ *. log, talvez access_log _ *. txt (ou mesmo apenas remover o sufixo) ou colocá-los em um diretório diferente.
Não esqueça que você pode fornecer uma lista de logs para que o logrotate atue, em vez de uma expressão regular.
Tags logrotate