Sim, você precisa executar logrotate
mais de uma vez por dia para conseguir isso. Isso é respondido no segundo parágrafo da página de manual logrotate
(8) :
Normalmente, logrotate
é executado como um trabalho cron diário. Ele não modifica um log várias vezes em um dia, a menos que o critério desse log seja baseado no tamanho do log e logrotate
esteja sendo executado várias vezes por dia, ou a menos que a opção -f
ou --force
seja usada.
Se você deseja executar a logrotate
cada hora, em vez de diariamente, é possível movê-lo:
mv /etc/cron.daily/logrotate /etc/cron.hourly
Desde 3.8.1 houve maxsize
. A diferença entre size
e maxsize
é descrita aqui:
maxsize
Tamanho
Arquivos de log são giradas durante a crescer mais do que o tamanho bytes antes mesmo do intervalo de tempo especificado adicionalmente ( daily
, weekly
,
monthly
ou yearly
). A size
opção relacionada é semelhante, exceto que é mutuamente exclusiva com as opções de intervalo de tempo e faz com que os arquivos de log sejam girados sem levar em consideração o último tempo de rotação. Quando maxsize
é usado, o tamanho e o carimbo de data e hora de um arquivo de log são considerados.
Isso tornaria os dois adequados para o seu uso: size
sem nenhum intervalo e maxsize
se também for necessário. No entanto, isso não altera o fato de que, por padrão, logrotate
é executado apenas diariamente. Esse intervalo é adequado para a maioria, pois na maioria dos casos leva muito mais que um dia para um log crescer novamente 250M
.