Uso de Logrotate en Linux
Table of Contents
ToggleIntroducción
Como vimos anteriormente, los archivos de log son muy útiles para llevar la información al día con respecto a los eventos que ocurren en el sistema. Sin embargo, si dejamos que estos crezcan de forma descontrolada, podremos obtener rendimientos negativos en el sistema. Por tal motivo, hay que tener alguna utilidad para especificarles el comportamiento a llevar a cabo. En este apartado veremos en detalle el uso de Logrotate en Linux.
¿Qué es Logrotate?
Logrotate es un estándar que se encuentra en sistemas tanto RedHat como Debian. Con el uso de logrotate en Linux, podremos especificar todo tipo de parámetros a la hora de administrar nuestros eventos. Es decir, un archivo de configuración de logrotate, consiste en una serie de especificaciones para los grupos de archivos de log que vamos a administrar. Las opciones especificadas, fuera de contexto de cualquier log (errors, rotate, weekly…), se aplican a todos ellos, pero pueden ser reemplazadas con una especificación concreta para un log en particular.
El directorio de configuración se encuentra en /etc/logrotate.conf. También, tenemos otro directorio en /etc/logrotate.d/ dónde podremos poner individualmente cada configuración. Para que cada una de las configuraciones tenga efecto, se programa una entrada en el crontab del sistema, para que corran cada determinado tiempo. Por ejemplo /etc/crond.daily/logrotate.
Comando logrotate
Esta herramienta nos permite especificar las configuraciones llevadas a cabo con respecto a la rotación de logs.
Algunas opciones son:
-d Se utiliza para debug. No hace nada, simula la rotación.
-f Fuerza la rotación.
-v Modo verbose, nos da más información.
Ejemplo:
# logrotate -d /etc/logrotate.conf
Configuraciones
Las siguientes configuraciones especifican los parámetros llevados a cabo para la correcta función y uso de logrotate en Linux.
OPCIONES | DESCRIPCIÓN |
missingok | No se producirá ningún error si el archivo de log no existe. |
notifempty | No rotar el log si está vacío. |
sharedscripts | Los script de postrotate solo se ejecutarán una vez que los logs viejos fueron comprimidos. |
delaycompress | Sirve por si algún programa está escribiendo y necesita que el archivo no se comprima. |
postrotate/endscript | Lo que esté dentro de estas directivas, se ejecutará luego de la rotación de archivos. |
compress | Comprime los archivos rotados. |
daily | Rotar diariamente. |
weekly | Rotar semanalmente. |
monthly | Rotar mensualmente. |
yearly | Rotar anualmente. |
Todos los paquetes de software «conscientes» de logrotate (la gran mayoría) se integran con este sistema de administración de logs en la parte de su proceso de instalación, lo que simplifica ampliamente la administración.
Veamos un ejemplo:
# logrotate /etc/logrotate.d