| Següent revisió | Revisió prèvia |
| linux:log:logrotate [19/07/2018 01:06] – creat mate | linux:log:logrotate [13/01/2023 09:05] (actual) – [cli] mate |
|---|
| = logrotate | = logrotate |
| | == info |
| | * [[https://atareao.es/ubuntu/rotado-de-logs-con-logrotate/]] |
| * [[https://www.digitalocean.com/community/tutorials/how-to-manage-logfiles-with-logrotate-on-ubuntu-16-04]] | * [[https://www.digitalocean.com/community/tutorials/how-to-manage-logfiles-with-logrotate-on-ubuntu-16-04]] |
| * [[https://stackoverflow.com/questions/20162176/centos-linux-setting-logrotate-to-maximum-file-size-for-all-logs]] | * [[https://stackoverflow.com/questions/20162176/centos-linux-setting-logrotate-to-maximum-file-size-for-all-logs]] |
| | |
| | == cli |
| | * ejecutar dry-run:<code bash>sudo logrotate /etc/logrorate.conf --debug</code> |
| | * ejecutar manualmente o un fichero concreto:<code bash>sudo logrotate <FICHERO.CONF></code> |
| | * status del estado de rotado:<code bash>cat /var/lib/logrotate/status</code> |
| | * ejecución fichero conf fuera del ciclo habitual del sistema y con su propio fichero de estado:<code bash>logrotate /home/sammy/logrotate.conf --state /home/sammy/logrotate-state --verbose</code> |
| | === flags |
| | * ''%%--%%state'' |
| | * ''%%--%%verbose'' |
| | * ''%%--%%force'' |
| | |
| | == conf |
| | * **/etc/logrotate.conf**: configuración por defecto |
| | * **/etc/logrotate.d/**: fichero inclusión configuraciones adicionales |
| | |
| | == comandos |
| | <code properties>/var/log/example-app/*.log { |
| | daily |
| | missingok |
| | rotate 14 |
| | compress |
| | notifempty |
| | create 0640 www-data www-data |
| | sharedscripts |
| | postrotate |
| | systemctl reload example-app |
| | endscript |
| | }</code> |
| | * ''daily'': rotación diaria |
| | * ''weekly'': rotación semanal |
| | * ''monthly'': rotación mensual |
| | * ''size <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 grupo |
| | * ''rotate <NUM>'': número de copias o ciclos que se conservan los logs anteriores. |
| | * ''compress'': los registros se guardan con compresión |
| | * ''notifempty'': no rotar si el archhivo está vacío |
| | * ''missingok'': no produce error si no existe el fichero |
| | * ''delaycompress'': pospone la compresión durante 1 ciclo |
| | * ''su <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.) |
| | * [[https://support.microfocus.com/kb/doc.php?id=7005219]] |
| | * ''sharedscript'': cualquier script se ejecutará solo 1 vez aunque afecte a varios ficheros de log |
| | * ''prerotate''..''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 |