logrotate
info
cli
- ejecutar dry-run:
sudo logrotate /etc/logrorate.conf --debug
- ejecutar manualmente o un fichero concreto:
sudo logrotate <FICHERO.CONF>
- status del estado de rotado:
cat /var/lib/logrotate/status
- ejecución fichero conf fuera del ciclo habitual del sistema y con su propio fichero de estado:
logrotate /home/sammy/logrotate.conf --state /home/sammy/logrotate-state --verbose
flags
--state--verbose--force
conf
- /etc/logrotate.conf: configuración por defecto
- /etc/logrotate.d/: fichero inclusión configuraciones adicionales
comandos
/var/log/example-app/*.log { daily missingok rotate 14 compress notifempty create 0640 www-data www-data sharedscripts postrotate systemctl reload example-app endscript }
daily: rotación diariaweekly: rotación semanalmonthly: rotación mensualsize <VALOR>: fuerza el rotado del archivo si es superior al especificado. Ignora parámetros anteriores.- G: Gigabytes, M: Megabytes, k: kilobytes
minsize <VALOR>: el fichero de log ha de llegar al valor mínimo y cumplir si ciclo de rotación (diario, semanal, mensual)mazsize <VALOR>: el fichero de log ha de llegar al valor máximo y cumplir si ciclo de rotación (diario, semanal, mensual)create [<modo> <usuario> <grupo>]: se crear un nuevo registro al rotar el más antiguo. Se puede especificar modo, usuario y gruporotate <NUM>: número de copias o ciclos que se conservan los logs anteriores.compress: los registros se guardan con compresiónnotifempty: no rotar si el archhivo está vacíomissingok: no produce error si no existe el ficherodelaycompress: pospone la compresión durante 1 ciclosu <usuario> <grupo>: cambiar el usuario y grupo por defecto de los ficheros de configuración. Necesario si no tiene los owners que espera (por cambio de ubicación de los archivos, p.e.)sharedscript: cualquier script se ejecutará solo 1 vez aunque afecte a varios ficheros de logprerotate..endscript: script que se ejecuta antes de la rotación.postrotate..endscript: script que se ejecuta después de rotar el log y antes de comprimir