logrotate by size - eu preciso alterar o cron?

3

Minha configuração atual do logrotate é semelhante a esta (usando o logrotate 3.8.7)

"/var/log/haproxy.log" {
  daily
  size 250M
  rotate 1
  create 644 root root
  missingok
  compress
  notifempty
  copytruncate
}

É executado com sucesso uma vez por dia, mas quando o tamanho excede 250M, ele não é rotacionado. Então, espera até o final do dia para girar, independentemente do tamanho.

Li que existe a opção maxsize e, depois de alterar size 250M para maxsize 250M , ainda não funciona.

Preciso definir um cron para rodar o logrotate de hora em hora, ou o logrotate é executado automaticamente porque está ouvindo o tamanho do arquivo, e eu tenho algo errado acontecendo?

    
por Hommer Smith 19.05.2017 / 03:44

1 resposta

2

Sim, você precisa executar logrotate mais de uma vez por dia para conseguir isso. Isto é respondido no parágrafo de segundos da página man logrotate (8) :

Normally, logrotate is run as a daily cron job. It will not modify a log multiple times in one day unless the criterion for that log is based on the log's size and logrotate is being run multiple times each day, or unless the -f or --force option is used.

Se você deseja executar logrotate por hora em vez de diariamente, pode movê-lo:

mv /etc/cron.daily/logrotate /etc/cron.hourly

Desde a 3.8.1 houve maxsize . A diferença entre size e maxsize é descrita aqui:

maxsize size

Log files are rotated when they grow bigger than size bytes even before the additionally specified time interval (daily, weekly, monthly, or yearly). The related size option is similar except that it is mutually exclusive with the time interval options, and it causes log files to be rotated without regard for the last rotation time. When maxsize is used, both the size and timestamp of a log file are considered.

Isso tornaria os dois adequados para seu uso: size sem intervalo e maxsize se também fosse necessário intervalo. No entanto, isso não altera o fato de que, por padrão, logrotate é executado apenas diariamente. Esse intervalo é adequado para a maioria, já que na maioria dos casos é preciso muito mais do que um dia para que um log cresça acima de 250M .

    
por 19.05.2017 / 07:46