¿Rotación de loggings en espacio libre en linux?

Alguien me preguntó "¿cuánto time debemos mantener los loggings de nuestra aplicación", y mi respuesta fue "hasta que el disco está lleno" ya que no hay razón para tirar a otros que quedarse sin espacio.

Sin embargo, logrotate estándar nos quiere especificar un período específico + número de rotaciones. ¿Hay algo similar que nos permita decir "girar diariamente, y mantener la historia tanto como te gusta hasta que haya sólo un 5% de espacio libre"?

La plataforma es Redhat Linux.

Puede utilizar las directivas firstaction o lastaction para llamar a un script de shell que pruebe el espacio libre en disco y, a continuación, ejecute una eliminación en los files más antiguos.

firstaction/endscript The lines between firstaction and endscript (both of which must appear on lines by themselves) are executed (using /bin/sh) once before all log files that match the wildcarded pattern are rotated, before prerotate script is run and only if at least one log will actually be rotated. These directives may only appear inside a log file definition. Whole pattern is passed to the script as first argument. If the script exits with error, no further processing is done. See also lastac- tion. 

Actualizar:

Esta es una input de Stackoverflow en el tipo de secuencia de commands que se puede ejecutar:

https://stackoverflow.com/questions/7523059/remove-oldest-file-in-repository

logrotate no tiene tal opción. Puede agregar una secuencia de commands cron que encuentre el logging más antiguo para eliminar cuando el espacio libre caiga por debajo de sus criterios. También puedes hacer otra validation. Sin embargo, conseguir disco demasiado lleno todo el time no es una buena idea porque el sistema no será capaz de crear grandes files temporales y podría causar fallos de la aplicación.

Sólo quería señalar que hay casos en los que no desea que sus loggings llenen todo el espacio disponible en disco. He tratado con varios hosts con thin provisioned / var directorys y mantener los loggings a un cierto tamaño era crucial. Utilizamos un trabajo de compañeros en set con logrorate para mantener el tamaño abajo. Algo similar podría ser utilizado en su entorno, aunque un server de logging central como splunk o syslog-ng probablemente sería una mejor opción.