Logrotate Ubuntu Tutorial

Logrotate Ubuntu Tutorial

En el mundo de la programación y la administración de sistemas, es importante tener control sobre los registros/logs generados por los distintos programas y servicios. Para lograr esto, una herramienta muy útil es Logrotate, que nos permite automatizar la rotación de logs, comprimirlos y eliminar los que ya no son necesarios. En este tutorial, aprenderás cómo instalar y configurar Logrotate en un servidor Ubuntu.

📋 Aquí podrás encontrar✍
  1. ¿Qué es Logrotate?
  2. Instalación
  3. Configuración
  4. Ejemplos de configuración
    1. Apache
    2. MySQL
  5. Conclusión
  6. Preguntas frecuentes
    1. ¿Qué es un log en programación?
    2. ¿Por qué es importante rotar los logs?
    3. ¿Puedo configurar Logrotate para que envíe notificaciones por correo electrónico después de una rotación?
    4. ¿Cómo elimino un log específico que no está siendo manejado por Logrotate?

¿Qué es Logrotate?

Logrotate es una herramienta gratuita que viene preinstalada en la mayoría de las distribuciones Linux, incluyendo Ubuntu. Esta herramienta nos permite automatizar la rotación de logs, comprimirlos y eliminar los que ya no son necesarios. Gracias a su configuración, podemos mantener los registros controlados y optimizar el espacio en nuestro sistema. Además, Logrotate nos permite definir reglas específicas para cada log y así asegurarnos de que se manejen de la forma que deseamos.

Instalación

Para instalar Logrotate en Ubuntu, simplemente debemos utilizar el siguiente comando:

sudo apt-get install logrotate

Una vez instalado, verificamos que el servicio está en ejecución con el siguiente comando:

systemctl status logrotate.service

Configuración

La configuración de Logrotate se realiza a través del archivo /etc/logrotate.conf. En este archivo encontraremos la configuración global de Logrotate, además de una serie de directivas que nos permiten definir la rotación para cada log específico.

Para configurar la rotación de un log específico, debemos crear un archivo en la carpeta /etc/logrotate.d/, con un nombre que indique el nombre del log. Por ejemplo, para configurar la rotación del log de Apache, creamos un archivo llamado apache2 en la carpeta /etc/logrotate.d/.

Dentro de cada archivo de configuración, podemos definir distintas opciones, como la frecuencia de rotación, el número de backups a mantener, la compresión del archivo, entre otros. Para conocer todas las opciones disponibles, podemos revisar el manual de Logrotate con el siguiente comando:

man logrotate

Ejemplos de configuración

A continuación, se presentan dos ejemplos de configuración para los logs de Apache y MySQL:

Apache

En el archivo /etc/logrotate.d/apache2, definimos la siguiente configuración para rotar los logs de Apache:

/var/log/apache2/*.log {
weekly
missingok
rotate 4
compress
delaycompress
notifempty
create 640 root adm
sharedscripts
}

Con esta configuración, se rotarán los logs de Apache cada semana, manteniendo hasta 4 backups comprimidos, y creando un nuevo archivo vacío después de la rotación.

MySQL

Para el log de MySQL, definimos la siguiente configuración en el archivo /etc/logrotate.d/mysql-server:

/var/log/mysql/*.log {
weekly
missingok
rotate 7
compress
delaycompress
notifempty
create 664 mysql adm
sharedscripts
postrotate
test -e /usr/share/mysql/mysql-server.postinst -a ! -e /etc/mysql/debian.cnf || /usr/share/mysql/mysql-server.postinst configure
endscript
}

Con esta configuración, se rotarán los logs de MySQL cada semana, manteniendo hasta 7 backups comprimidos, y creando un nuevo archivo vacío después de la rotación.

Conclusión

Logrotate es una herramienta muy útil para mantener los registros/logs controlados y optimizar el espacio en nuestro sistema. Con una configuración adecuada, podemos automatizar la rotación, compresión y eliminación de los logs que ya no son necesarios. Esperamos que este tutorial te haya sido útil para instalar y configurar Logrotate en Ubuntu.

Preguntas frecuentes

¿Qué es un log en programación?

Un log en programación es un archivo que contiene una lista de eventos o acciones que ha realizado un programa o servicio. Esta información es muy útil para debuggear problemas y para tener una historia de las acciones que se han realizado en un sistema.

¿Por qué es importante rotar los logs?

Rotar los logs es importante para mantener el control sobre el espacio en nuestro sistema y para evitar que el log crezca de forma descontrolada. Además, rotar los logs con cierta frecuencia nos permite tener una historia de actividades reciente.

¿Puedo configurar Logrotate para que envíe notificaciones por correo electrónico después de una rotación?

Sí, puedes configurar Logrotate para que envíe notificaciones por correo electrónico después de una rotación añadiendo la directiva mail en la configuración de cada archivo de log que quieras enviar notificaciones. Por ejemplo:

/var/log/mysql/*.log {
weekly
missingok
rotate 7
compress
delaycompress
notifempty
create 640 mysql adm
sharedscripts
postrotate
test -x /usr/bin/mysqladmin &&
/usr/bin/mysqladmin --defaults-file=/etc/mysql/debian.cnf ping &&
/usr/bin/mysqladmin --defaults-file=/etc/mysql/debian.cnf flush-logs >/dev/null
endscript
mail root
}

¿Cómo elimino un log específico que no está siendo manejado por Logrotate?

Puedes eliminar un log específico que no está siendo manejado directamente por Logrotate utilizando el siguiente comando:

rm /ruta/al/log

Deja una respuesta

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

Subir