Sí, necesitas correr logrotatemás de una vez al día para lograrlo. Esto se responde en el párrafo de segundos de la página de manual logrotate(8) :
Normalmente, logrotatese ejecuta como un trabajo cron diario. No modificará un registro varias veces en un día a menos que el criterio para ese registro se base en el tamaño del registro y logrotatese ejecute varias veces al día, o a menos que se use la opción -fo --force.
Si desea ejecutar logrotatecada hora en lugar de diariamente, puede moverlo:
mv /etc/cron.daily/logrotate /etc/cron.hourly
Desde 3.8.1 ha habido maxsize. La diferencia entre sizey maxsizese describe aquí:
maxsize Talla
Archivos de registro se cambian cuando crecen más grande que el tamaño de bytes, incluso antes del intervalo de tiempo especificado, además, ( daily, weekly,
monthly, o yearly). La sizeopción relacionada es similar, excepto que es mutuamente exclusiva con las opciones de intervalo de tiempo y hace que los archivos de registro se roten sin tener en cuenta el último tiempo de rotación. Cuando maxsizese usa, se consideran tanto el tamaño como la marca de tiempo de un archivo de registro.
Esto haría que ambos sean adecuados para su uso: sizesin ningún intervalo y maxsizesi también se necesita un intervalo. Sin embargo, esto no cambia el hecho de que, de forma predeterminada, logrotatesolo se ejecuta a diario. Ese intervalo es adecuado para la mayoría, ya que en la mayoría de los casos el registro tarda más de un día en crecer 250M.