En sistemas Red Hat y todas sus variantes tenemos la opción de manejar la rotación de logs con logrotate, y evitar que los ficheros de log de los distintos servicios ocupen mucho espacio en disco.

Para configurar esto tenemos el fichero: /etc/logrotate.conf, donde podemos especificar directivas generales para la rotación de logs. Y en el directorio /etc/logrotate.d/ indicamos procedimientos de rotación para cada servicio de forma específica.

‘logrotate’  lo configuramos en un cron para que se ejecute de forma periódica. Ppor defecto ya viene configurado en el sistema, y si queremos lanzarlo manualmente para probar si está bien, ejecutamos:

# logrotate /etc/logrotate.conf  -f

Veamos un ejemplo con el servicio apache. Tenemos que crear un fichero de texto plano ‘apache’ dentro de /etc/logrotate.d/ con permisos 644. Vamos a configurar que los ‘logs’ de apache : acces_log y error_log, roten diariamente y se guarden durante 31 días. Y además configuramos que se compriman los logs rotados.

El contenido del fichero ‘/etc/logrotate.d/apache‘ quedaría así :

/log/apache2/access_log {

daily

rotate 31

copytruncate

compress

notifempty

missingok

}

/log/apache2/error_log {

daily

rotate 31

copytruncate

compress

notifempty

missingok

}

Lo que se indica al principio , es la ruta donde se guardan los logs y el nombre. Y el significado de los siguientes parámetros es el siguiente:

–         daily : para hacer la rotación de log diariamente

–         rotate 31: mantener las rotaciones 31 días

–         copytruncate: copia el archivo original de log y lo pone a 0

–         compress: comprime logs antiguos

–         notifempty: comprueba si está vacío el archivo log para entonces rotar o no

–         missingok: Si da error en fichero pasa al siguiente que no de error

Si necesitamos ver las posibilidades de configuración y otros parámetros, podemos consultar el manual con : ‘man logrotate’, en la consola de nuestro sistema.

Si queremos, se puede indicar, después de la rotación de log, que se reinicie el servicio ‘apache’ :

postrotate
/etc/init.d/apachectl restart > /dev/null
endscript

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.

ACEPTAR
Aviso de cookies