Logrotate não está girando o arquivo depois que o tamanho do arquivo excede o limite.

8

A partir do manpage logrotate.

It will not modify a log more than once in one day unless the criterion for that log is based on the log's size

De acordo com a página man, o logrotate deve rodar o arquivo se a configuração for baseada no tamanho dos logs. Mas, meu arquivo não está recebendo mesmo se o tamanho do arquivo for maior que 100k.

Alguém pode apontar qual é o problema?

Minha configuração

/home/jetech/work/lampstack-5.3.9-0/apache2/logs/access_log  {
    copytruncate
    compress
#    dateext
    rotate 365
    size 100k
    olddir /home/jetech/work/lampstack-5.3.9-0/apache2/old_logs
    notifempty
    nomail
    missingok
}
    
por robert 20.02.2013 / 06:02

1 resposta

16

Como você sabe que o arquivo não está sendo rotacionado?

Em um Debian 6 Linode que eu tenho, na configuração padrão logrotate foi agendada apenas por cron para ser executada uma vez por dia, e em um momento muito estranho. Se for executado apenas uma vez por dia, naturalmente terá apenas uma oportunidade por dia para examinar a configuração, fazer as comparações e realizar as rotações necessárias.

Então, você tem certeza de que está rodando o seu logrotate? Pode querer verificar o seu /etc/cron* e /etc/cron*/* para ver quando e com que frequência o logrotate está agendado para ser executado.

Por exemplo, se o script logrotate estiver presente em /etc/cron.daily , convém movê-lo para /etc/cron.hourly ou, se por hora não for bom o suficiente, criar um arquivo em /etc/cron.d/ com o seguinte conteúdo , para executar logrotate a cada 10 minutos:

*/10  *  *  *  *   root    /usr/sbin/logrotate /etc/logrotate.conf
    
por 20.02.2013 / 06:25