Quais horários são rotacionados?

18

Estou trabalhando no programa que cria um grande arquivo de log.

Eu quero lidar com isso com logrotate.

Esta é uma configuração que eu coloquei para /etc/logrotate.d/:

/var/log/myproject.log  {
 hourly
 maxsize 1
 rotate 6
 missingok
 notifempty
 compress
 nocreate
 copytruncate
 su www-data www-data 
}

( /var/log/myproject.logtem dono www-data)

Comandos

sudo logrotate -vf /etc/logrotate.conf

e

sudo logrotate -vf /etc/logrotate.d/myproject

gire o log corretamente.

No entanto, depois de chamá-los /etc/cron.hourlyestá vazio. O que significa que logrotate não é chamado a cada hora.

  1. Tenho a garantia de ter um logrotatescript /etc/cron.daily?

  2. O script verifica a frequência da atualização dos arquivos de log. Ou seja, se eu tiver um logrotatescript /etc/cron.dailye para algum arquivo de log Xem que /etc/logrotate.d/eu defino a weeklyconfiguração, será Xgirado diariamente ou semanalmente?

  3. Posso apenas copiar e colar /etc/cron.daily/logrotatepara /etc/cron.hourly/? Posso recortar e colar?

  4. Devo adicionar 0anacronarquivo /etc/cron.hourly/?

  5. Devo fazer outra coisa para ativar o registro por hora?

user2136963
fonte
2
Dica para a pergunta 1: veja a saída degrep -r logrotate /etc/cron*
guntbert 28/11
@ Guntbert Eu já disse isso antes e vou dizer novamente. Você é um santo e um herói.
Darth Egregious

Respostas:

10
  1. Não.

  2. De man logrotate:

    Each  configuration  file  can  set  global  options (local definitions
    override global ones, and later definitions override earlier ones)
    

    Então sim.

  3. Novamente, na página de manual:

    hourly Log files are rotated every hour. Note that usually logrotate is
           configured  to  be  run  by  cron daily. You have to change this
           configuration and run logrotate hourly  to  be  able  to  really
           rotate logs hourly.
    

    Então, sim, você deve mover o script. Inspecionando o cron.dailyscript no meu sistema, acho que movê-lo deve funcionar bem.

muru
fonte