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,
logrotateis 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 andlogrotateis being run multiple times each day, or unless the-for--forceoption 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:
maxsizesizeLog files are rotated when they grow bigger than size bytes even before the additionally specified time interval (
daily,weekly,monthly, oryearly). The relatedsizeoption 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. Whenmaxsizeis 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 .