El rendimiento de un entorno informático o de servidor depende en gran medida de la memoria del sistema y del uso del disco. Si algo consume más espacio en disco, provocará un error del sistema. Asimismo, se debe controlar el aumento del tamaño del archivo de registro para reducir dicho riesgo.
Logrotate se introdujo como una utilidad del sistema que gira, comprime los archivos de registro y envía registros del sistema por correo. Esta gestión de archivos de registro reduce el uso de espacio en disco y evita errores del sistema.
En este artículo, vamos a discutir el proceso de instalación y la configuración de logrotate en el servidor Ubuntu 20.04 LTS.
Instalación de Logrotate en servidor Ubuntu 20.04
En Ubuntu, logrotate está instalado de forma predeterminada, pero en caso de que no esté instalado, puede instalarlo con el comando como se muestra a continuación.
$ sudo apt update $ sudo apt install logrotate
Puede confirmar la instalación con el comando como se muestra a continuación.
$ logrotate --version
Los archivos de configuración de Logrotate
El archivo de configuración para logrotate es creado por el demonio logrotate. Hay dos rutas para dicha configuración, como se muestra a continuación.
/etc/logrotate.conf
Es el archivo de configuración generalmente creado para la utilidad logrotate
/etc/logrotate.d/
Es el directorio formado por el giro específico de las aplicaciones. De forma predeterminada, se usa /etc/logrotate.conf, pero para que cada aplicación tenga una configuración diferente, se puede establecer en /etc/logrotate.d/.
El archivo de configuración Logrotate predeterminado
Como usted sabe que /etc/logrotate.conf es el archivo de configuración predeterminado. Revisemos el archivo de configuración como se muestra en la captura de pantalla a continuación.
Verifique el archivo de configuración con el comando como se muestra a continuación.
$ cat /etc/logrotate.conf
Salida:
Configuración para una aplicación específica
En la captura de pantalla anterior, hay una configuración como include /etc/logrotate.d lo que significa que la configuración para aplicaciones específicas se puede establecer en este directorio. Aquí, vamos a mostrar la configuración de dpkg como se muestra a continuación.
$ cd /etc/logrotate.d/
$ cat dpkg
Para obtener detalles de cada línea de configuración, verifique los puntos discutidos a continuación. Estas configuraciones reemplazarán la configuración predeterminada de /etc/logrotate.conf para aplicaciones específicas como dpkg.
- mensual:rotar una vez al mes. Puede reemplazarlo con diario, semanalmente según sus requisitos.
- rotar 12:se conservarán doce archivos de registro antiguos. Reemplaza el 4 predeterminado en /etc/logrotate.conf
- comprimir:los archivos de registro de esta aplicación se comprimirán con gzip
- delaycompress:la compresión del archivo de registro anterior al siguiente ciclo de rotación se pospone ya que todavía lo utiliza algún programa.
- missingok:no escriba ningún mensaje de error si falta el archivo de registro
- notifempty:no rotar el archivo de registro si está vacío
- crear raíz raíz 644:el archivo de registro se crea con el permiso 644, con el usuario y el grupo como raíz
Creación del archivo de configuración de Logrotate
Supongamos que ha instalado una aplicación como nginx y su archivo de registro se crea en /var/log/nginx/ luego puede configurar un archivo de configuración logrotate para esta aplicación específica con el comando como se muestra a continuación.
Navegue al directorio logrotate
$ cd /etc/logorate.d/
Crea un archivo logrotate con el editor
$ vim nginx
/var/log/nginx/*.log { daily missingok rotate 14 compress delaycompress notifempty create 0640 www-data adm sharedscripts prerotate if [ -d /etc/logrotate.d/httpd-prerotate ]; then \ run-parts /etc/logrotate.d/httpd-prerotate; \ fi \ endscript postrotate invoke-rc.d nginx rotate >/dev/null 2>&1 endscript }
En la configuración anterior, hemos configurado la rotación para 14, por lo que se conservarán 14 archivos de registro antiguos, y el archivo de registro se comprime con el uso de gzip. Otra configuración utilizada en el archivo anterior casi se explica en la sección del archivo de configuración logrotate. Puede ejecutar la configuración recién creada con el privilegio de usuario sudo como se muestra a continuación.
$ sudo logrotate -d /etc/logrotate.d/nginx
Aquí, los archivos de registro se ejecutan como se muestra en la siguiente captura de pantalla.
Logrotar con cron
Al instalar el paquete logrotate, también se crea un archivo crontab en el proceso dentro de /etc/cron.daily con el nombre logrotate. Consulte la captura de pantalla que se muestra a continuación para obtener más detalles.
$ cat /etc/cron.daily/logrotate
Conclusión
En este artículo, aprendió cómo instalar el paquete logrotate y verificar el archivo de configuración de la aplicación específica y predeterminada para logrotate con la implementación de crontab. ¡Gracias!