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