A rotação do arquivo não gira o arquivo após o tamanho do arquivo exceder o limite.

9

Na página de manual do logrotate.

Ele não modificará um log mais de uma vez em um dia, a menos que o critério para esse log seja baseado no tamanho do log

De acordo com a página do manual, logrotate deve girar o arquivo se a configuração for baseada no tamanho dos logs. Mas, meu arquivo não está chegando mesmo que o tamanho do arquivo seja 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
}
Robert
fonte

Respostas:

17

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

Em um Debian 6 Linode que eu tenho, na configuração padrão logrotatesó foi agendada cronuma vez por dia, e em um momento muito estranho. Se for executado apenas uma vez por dia, naturalmente haverá 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á realmente executando seu logrotate? Pode querer verificar o seu /etc/cron*e /etc/cron*/*ver quando e com que frequência o logrotate está programado para ser executado.

Por exemplo, se o logrotatescript estiver presente /etc/cron.daily, convém movê-lo para /etc/cron.hourly, ou, se a cada hora não for suficiente, crie um arquivo /etc/cron.d/com o seguinte conteúdo, para ser executado a logrotatecada 10 minutos:

*/10  *  *  *  *   root    /usr/sbin/logrotate /etc/logrotate.conf
cnst
fonte
0

Então, logrotatena verdade, funciona assim,

  • Na configuração, especificamos uma frequência de execução ( diariamente , a cada hora , mensalmente )
  • Há uma entrada /etc/cron.xxxpara logrotate para executar.
  • logrotate corre através de crontab

se você mencionou diariamente , todos os dias na quantidade de tempo especificada (/ etc / crontab), o processo crontab executará o processo de rotação de log para rotação. Portanto, o limite de tamanho do arquivo não funcionará, pois o processo nunca será executado.

swayamraina
fonte