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 andlogrotate
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
sizeLog files are rotated when they grow bigger than size bytes even before the additionally specified time interval (
daily
,weekly
,monthly
, oryearly
). The relatedsize
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. Whenmaxsize
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
.