Tutoriales

Ejemplo de logrotación de Linux

La información de registro es una parte muy importante de cualquier sistema operativo y se utiliza para diagnosticar problemas con cualquier aplicación en ejecución. Las entradas de registro ayudan a encontrar soluciones a los problemas. La mayoría de las aplicaciones del sistema operativo Linux generan registros y los administradores del sistema obtienen la información que necesitan sobre las aplicaciones a partir de las entradas del registro. Sin embargo, las entradas del registro a veces pueden causar problemas porque el tamaño de las entradas puede aumentar con el tiempo. Por lo tanto, es necesario gestionar las entradas del registro.

logrotate es una herramienta de línea de comandos de Linux para administrar entradas de registro. Esta herramienta ayuda a los administradores a realizar diferentes tipos de tareas en las entradas de registro, como limitar los archivos de registro de rotación, comprimir archivos de registro de rotación, eliminar archivos de registro innecesarios, ejecutar scripts de shell específicos basados ​​en archivos de registro, etc. Funciones del comando «logrorate» que administran los archivos de registro de diferentes maneras.

Comprobar la versión instalada de Logrotate

El comando «logrotate» está instalado por defecto en la nueva versión del sistema operativo Ubuntu. Ejecute el siguiente comando para verificar la versión instalada del comando «logrotate»:

Las entradas de registro para diferentes aplicaciones se almacenan en la carpeta «/var/log» de forma predeterminada. Si examina el contenido de esta carpeta, aparecerá algo similar a lo siguiente.

Establecer la configuración «Logrotar»

valor ajustadoObjetivo
Diario/Semanal/Mensual/AnualDefine la duración de los troncos giratorios.
número de girosDefine la cantidad de archivos que se conservarán antes de que se eliminen los archivos de registro antiguos.
compresiónSe utiliza para comprimir archivos de registro.
Comando de compresiónSe utiliza para configurar el comando «compresión». gzip es la directiva predeterminada.
Comando descomprimirSe utiliza para configurar el comando «descomprimir». gunzip es el comando predeterminado.
compresión retardadaSe utiliza para retrasar el proceso de compresión de archivos de registro.
Notificación vacíaSe utiliza para no rotar archivos vacíos.
MisokSi se establece, no se generará ningún error por los archivos de registro faltantes.
tamañoSe utiliza para establecer el límite para comenzar a rotar archivos de registro.
texto de fechaSe utiliza para agregar valor de fecha como sufijo a archivos rotados.
truncamiento de copiaSe utiliza para crear una copia del archivo original.
pre-rotaciónSe utiliza para ejecutar un script antes de rotar los archivos de registro.
giro hacia atrásSe utiliza para ejecutar scripts después de rotar archivos de registro.
crearSe utiliza para crear archivos de registro con privilegios de root.

sintaxis:

La sintaxis del comando «logrotate» es la siguiente:

Rotación logarítmica [OPTION] Ruta del perfil

La directiva «logrotate» puede utilizar diferentes tipos de opciones para diferentes propósitos.

Opciones de rotación de registros

Algunas opciones útiles del comando “logrotate” se mencionan a continuación:

OpcionesObjetivo
-f, -fuerzaPara obtener efectos potentes cuando sea necesario.
-d, –depurarSe utiliza para habilitar el modo de depuración durante la rotación.
-m, -correo Se utiliza para enviar correos electrónicos durante la rotación.
-s, – estado Se utiliza en lugar del archivo de estado.
-usoSe utiliza para imprimir información de uso.
-?Se utiliza para imprimir mensajes de ayuda.
-v, –detalladoSe utiliza para imprimir en modo detallado.

Perfil de rotación de registros

El archivo de configuración principal de logrotate se encuentra en «/etc/logrotate.conf». Ejecute el siguiente comando para abrir el archivo en el nano editor:

$ nanómetro /ETC/logrotate.conf

La configuración predeterminada para el comando «logrotate» se muestra en el archivo «logrotate.conf». La directiva «include» se utiliza en el archivo para recuperar la configuración ubicada en el directorio «/etc/logrotate.d».

Ejemplo 1: crear un archivo de configuración de Logrotate simple

Cree un archivo de registro de muestra denominado «/var/log/test.log» utilizando los datos de registro de muestra. Ejecute el siguiente comando para abrir el editor Nano y crear un nuevo archivo «logrotate.conf» en la carpeta «/etc/tmp». Si la carpeta «/tmp» no se ha creado antes, utilice permisos de root para crear la carpeta.

$ nanómetro /ETC/tmp/logrotate.conf

Agregue el siguiente contenido al archivo «/var/log/test.log». Según la configuración, si el tamaño del archivo supera los 5K, el archivo «test.log» se rotará todos los días:

/variable/registro/Registro de prueba {

A diario

tamaño 5K

Su administrador raíz

}

Ejecute el siguiente comando para ver el tamaño del archivo de registro:

$ LS -l /variable/registro/Registro de prueba

Después de crear el perfil, ejecute el comando «logrotate».

$ sudo Rotación logarítmica /ETC/tmp/logrotate.conf

Después de ejecutar el comando «logrotate», ejecute el siguiente comando nuevamente para verificar el tamaño del archivo de registro:

$ LS -l /variable/registro/Registro de prueba

El tamaño del archivo «test.log» es 1K+. Por lo tanto, no se realiza la rotación basada en los ajustes de configuración.

Cambie el valor de tamaño en el archivo «/etc/tmp/logrotate.conf» a 1K y ejecute el comando «ls» nuevamente para verificar el tamaño del archivo «/var/log/test.log». Según el resultado, el archivo de registro se rotó y eliminó debido a que se excedió el límite de tamaño.

Ejemplo 2: uso de Logrotate Copytruncate

Cree o modifique el archivo «/etc/tmp/logrotate.conf» con la siguiente configuración para mostrar el uso de copytruncate. Según la nueva configuración, logrotate crea una copia del archivo original reduciendo el tamaño del archivo original a cero.

/variable/registro/Registro de prueba {

girar 5

tamaño 1k

truncamiento de copia

Su administrador raíz

}

Ejecute el siguiente comando para verificar el tamaño del archivo «test.log»:

$ LS -l /variable/registro/Registro de prueba

Después de crear el perfil, ejecute el comando «logrotate».

$ sudo Rotación logarítmica /ETC/tmp/logrotate.conf

Después de ejecutar el comando «logrotate», ejecute el siguiente comando nuevamente para verificar el tamaño del archivo «test.log»:

$ LS -l /variable/registro/Registro de prueba

Después de ejecutar el comando «logrotate» establecido por copytruncate, el tamaño del archivo original pasa a ser 0.

Ejemplo 3: uso de la compresión Logrotate

Cree o modifique el archivo «/etc/tmp/logrotate.conf» con la siguiente configuración para mostrar el uso de la compresión. Según la nueva configuración, logrotate crea un archivo comprimido del archivo original.

/variable/registro/Registro de prueba {

girar 5

tamaño 1k

compresión

crear Capítulo 770 administrador raíz

}

Ejecute el siguiente comando para ver la lista de archivos y carpetas en «/var/log»:

Después de crear el perfil, ejecute el comando «logrotate».

$ sudo Rotación logarítmica /ETC/tmp/logrotate.conf

Ejecute el siguiente comando nuevamente para ver la lista de archivos y carpetas en «/var/log»:

Se creará un archivo comprimido del archivo «test.log» llamado «test.log.1.gz» y se eliminará el archivo original.

Ejemplo 4: uso de Logrotate Dateext

Cree o modifique el archivo «/etc/tmp/logrotate.conf» con la siguiente configuración para mostrar el uso de dateext. Según la nueva configuración, logrotate crea un archivo comprimido del archivo original utilizando los valores de fecha.

Después de crear el perfil, ejecute el comando «logrotate».

Ejecute el siguiente comando para ver la lista de archivos y carpetas en «/var/log»:

Se creará un archivo comprimido del archivo «test.log» llamado «test.log.20240129.gz» y se eliminará el archivo original.

Ejemplo 5: Uso de Logrotate Maxage

Cree o modifique el archivo «/etc/tmp/logrotate.conf» con la siguiente configuración para mostrar el uso de maxage. Dependiendo de la configuración, logrotate retendrá 5 entradas de registro si el tamaño del archivo de registro supera 1K después de un día.

Ejecute el siguiente comando «logrotate» para almacenar el resultado en otro archivo de registro llamado «out.log»:

Según el siguiente resultado, el archivo «out.log» se creará después de ejecutar el comando «logrotate»:

Ejemplo 6: Uso de Logrotate Missingok

Cree o modifique el archivo «/etc/tmp/logrotate.conf» con la siguiente configuración. Aquí, el archivo de registro «testfile.log» no existe en la carpeta «/var/log».

Se imprimirá un mensaje de error después de ejecutar el comando «logrotate».

Agregue la configuración «missingok» en el archivo de configuración de logrotate y ejecute el comando «logrotate» nuevamente. No se imprimirán errores por archivos de registro faltantes.

Ejemplo 7: Uso de Logrotate Prerotate

Utilice el siguiente script para crear un archivo Bash llamado «test.sh» para imprimir un mensaje simple. Este archivo se utiliza en este ejemplo de logrotate para mostrar el uso de prerotate en el archivo de configuración de logrotate.

Después de crear el archivo, ejecute el siguiente comando para establecer los permisos de ejecución del archivo para todos los usuarios:

Ahora, cree o modifique el archivo «/etc/tmp/logrotate.conf» con la siguiente configuración. Dependiendo de la configuración, logrotate retendrá 5 entradas de registro si el tamaño del archivo de registro excede 1K y el archivo «test.sh» se ejecuta antes de la rotación.

Muestre el resultado del archivo «test.sh» después de ejecutar el comando «logrotate»:

en conclusión

Este tutorial muestra varios usos del comando «logrotate» a través de múltiples ejemplos, lo que ayudará a los usuarios de Linux a comprender el uso del comando y administrar correctamente los archivos de registro.

LEER  Esta es la consola PORTÁTIL MÁS PODEROSA del mundo 😐 la SMACH Z

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