Tutoriales

Cómo rotar registros con Logrotate en Linux

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
Archivo de configuración Logrotate

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
Directorio de configuración de Logrotate
Directorio de configuración de Logrotate

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 
Información de registro apto
Información de registro apto

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
Crear un archivo de configuración Logrotate
Crear un archivo de configuración Logrotate

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
Crear una configuración de Logrotate independiente
Crear una configuración de Logrotate independiente

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 
Mostrar información de registro
Mostrar información de registro

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
Crear Cron para Logrotate
Crear Cron para Logrotate

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

LEER  Proyectos ofensivos de CSharp envueltos en Powershell

Publicaciones relacionadas

Deja una respuesta

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

Botón volver arriba