
Cuando se ejecuta una aplicación en el entorno del sistema operativo Linux, se inicia un proceso en segundo plano vinculado a la aplicación. Los eventos relacionados con la ejecución de estas aplicaciones se registran en archivos de registro (generados por aplicaciones y/o procesos en segundo plano).
Dado que los archivos de registro se generan constantemente, especialmente en un sistema ocupado como un entorno de servidor, es necesario verificarlos.
Para los sistemas Linux que no ejecutan demasiadas aplicaciones, los archivos de registro se pueden recortar fácilmente de forma manual según un cronograma. Sin embargo, este enfoque para la administración de archivos de registro no es adecuado para sistemas Linux listos para la empresa/producción.
Logrotate se encarga de rotar y comprimir automáticamente los archivos de registro en crecimiento para garantizar que ahorremos espacio libre en el disco del sistema.
Este artículo nos guiará a través de la instalación y el uso básico. rotación logarítmica Utilidades para la gestión de archivos de registro en sistemas Linux.
Cómo instalar Logrotate en Linux
Este rotación logarítmica La utilidad de administración de archivos de registro está preinstalada en las principales distribuciones de Linux. Si no está instalado en su sistema Linux, consulte las instrucciones de instalación a continuación.
$ sudo apt install logrotate [On Debian, Ubuntu and Mint] $ sudo yum install logrotate [On RHEL/CentOS/Fedora and Rocky Linux/AlmaLinux] $ sudo emerge -a app-admin/logrotate [On Gentoo Linux] $ sudo pacman -S logrotate [On Arch Linux] $ sudo zypper install logrotate [On OpenSUSE]
Comprender la configuración de Logrotate
principal rotación logarítmica Archivo de configuración que almacena información de rotación de registros predeterminada y otras configuraciones.
$ ls -l /etc/logrotate.conf $ cat /etc/logrotate.conf
principal rotación logarítmica El directorio de configuración es donde los paquetes de Linux instalados necesitan ayuda con la rotación de registros, y colocan su configuración logrotate en este directorio. Como se muestra en la captura de pantalla anterior, se enumeran herramientas del sistema como apt, dpkg y ufw.
$ ls -l /etc/logrotate.d

Por ejemplo, según la captura de pantalla anterior, podemos ver fácil La información del archivo de configuración Logrotate del administrador de paquetes es la siguiente:
$ cat /etc/logrotate.d/apt

De acuerdo con el resultado anterior, dos archivos de registro diferentes (Registro de terminología y registro de la historia) Rápido.
- Girar 12 La opción garantiza que se mantengan 12 archivos de registro antiguos.
- por mes Opción para asegurar la rotación mensual de registros.
- compresión opción garantiza que los archivos de registro girados se comprimen (principalmente a través de Archivo Conducir a
.gz
documento). - Perdió La opción no asocia mensajes de error con archivos de registro faltantes.
- notificación vacía La opción garantiza que los archivos de registro vacíos no se rotan.
Cree un archivo de configuración de Logrotate de muestra
Aquí, veremos dos escenarios:
1. Agregue un archivo de configuración en el directorio /etc/logrotate.d/
Supongamos que tenemos una aplicación de servidor web ficticia instalada en nuestro sistema llamada Ejemplo de aplicación Vamos a configurar su rotación de registros.Primero crearemos su nuevo archivo de configuración de registro dentro /etc/logrotate.d Tabla de contenido.
$ sudo nano /etc/logrotate.d/sample-app
Aquí hay un archivo de configuración de ejemplo que puede manejar estos registros:
/var/log/sample-app/*.log { daily missingok rotate 14 compress notifempty create 0640 www-data www-data sharedscripts postrotate systemctl reload sample-app endscript }
A continuación, cree su directorio de registro.
$ mkdir /var/log/sample-app
Una vez que se complete la rotación de registros, se creará un nuevo archivo de registro con permisos 0640 para el dueño www-datos y grupo www-datos. Este guion compartido El indicador garantiza que los scripts posteriores se ejecuten una vez por ejecución.
secuencia de comandos dentro del bloque rotación hacia atrás a notas finales Se ejecuta después de una rotación de registro correcta y antes de que se compacte el registro resultante.
Para ejecutar en seco y probar la configuración anterior de Logrotate, ejecutaríamos:
$ sudo logrotate /etc/logrotate.conf --debug

Aunque la aplicación no existe, rotación logarítmica Capacidad para evaluar el estado de su perfil.En el caso anterior, los registros generados y comprimidos se almacenarán en /var/log/muestra-aplicación.
2. Cree una configuración de Logrotate independiente
Las aplicaciones pueden ejecutarse como usuario de nuestro sistema, p. DespedirPodemos suponer que los registros que genera se almacenan en /inicio/dnyce/registros/ Tabla de contenido.
El archivo de configuración de Logrotate debe estar ubicado en el directorio de inicio:
$ nano /home/dnyce/logrotate.conf
Luego pegue la siguiente configuración:
/home/dnyce/logs/*.log { hourly missingok rotate 24 compress create }
El registro anterior se generará cada hora.
Vamos a crear el directorio de registro asociado.
$ cd ~ $ mkdir logs $ touch logs/access.log
Hora de probarlo:
$ logrotate /home/dnyce/logrotate.conf --state /home/dnyce/logrotate-state --verbose

Este --verbose
Detalla las operaciones relacionadas con Logrotate. En la configuración anterior, dado que Logrotate ve el archivo por primera vez, no se rota nada. Sin embargo, el archivo de estado Logrotate mostrará información registrada sobre la ejecución.
$ cat /home/dnyce/logrotate-state

Para configurar Logrotate para que se ejecute automáticamente cada hora para el usuario actual del sistema, abra el crontab del usuario:
$ crontab -e
Agregue la siguiente entrada en el crontab del usuario.
14 * * * * /usr/sbin/logrotate /home/dnyce/logrotate.conf --state /home/dnyce/logrotate-state

En aproximadamente una hora, $INICIO/registro El directorio debe llenarse con archivos de registro rotados y comprimidos.
Ahora deberíamos poder configurar y rotar archivos de registro para usuarios root y no root a través de rotación logarítmica en linux