Ejemplos de Logrotate de Linux

Ejemplos De Logrotate De Linux



La información de registro es una parte muy importante de cualquier sistema operativo para diagnosticar el problema de cualquier aplicación en ejecución y las entradas del registro ayudan a encontrar la solución del problema. La mayoría de las aplicaciones del sistema operativo Linux generan el registro y el administrador del sistema obtiene la información requerida sobre la aplicación a partir de las entradas del registro. Sin embargo, las entradas del registro a veces crean problemas porque el tamaño de las entradas aumenta con el tiempo. Por lo tanto, las entradas del registro son necesarias para administrar.

logrotate es una herramienta de línea de comandos de Linux para administrar las entradas del registro. Esta herramienta ayuda a realizar diferentes tipos de tareas en las entradas de registro por parte del administrador, como limitar los archivos de registro rotados, comprimir los archivos de registro rotados, eliminar los archivos de registro innecesarios, ejecutar el script de shell particular basado en los archivos de registro, etc. En este tutorial se muestran varios ejemplos del comando “logrorate” para administrar los archivos de registro de diferentes maneras.

Verifique 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':







$ logrotate --versión



Las entradas de registro de las diferentes aplicaciones se almacenan en la carpeta “/var/log” de forma predeterminada. El siguiente contenido similar aparecerá si verifica el contenido de la carpeta.



$ es / era / registro





Establecer la configuración 'Logrotate'

Fijando el valor Objetivo
diario/semanal/mensual/anual Define el tiempo de duración para rotar los registros.
rotar número Define la cantidad de archivos que se conservarán antes de eliminar los archivos de registro antiguos.
comprimir Se utiliza para comprimir los archivos de registro.
comprimircmd Se utiliza para configurar el comando 'comprimir'. El gzip es el comando predeterminado.
descomprimircmd Se utiliza para configurar el comando 'descomprimir'. El gunzip es el comando predeterminado.
retrasarcomprimir Se utiliza para retrasar el proceso de compresión de los archivos de registro.
notificación vacía Se utiliza para no rotar el archivo vacío.
Estoy perdido Si está configurado, no se genera ningún error para los archivos de registro que faltan.
tamaño Se utiliza para establecer el límite para comenzar a rotar los archivos de registro.
fechatexto Se utiliza para agregar un valor de fecha como sufijo del archivo rotado.
copiartruncar Se utiliza para crear una copia del archivo original.
pre-rotado Se utiliza para ejecutar un script antes de rotar los archivos de registro.
postrotar Se utiliza para ejecutar un script después de rotar los archivos de registro.
crear Se utiliza para crear archivos de registro con privilegios de root.

Sintaxis:

La sintaxis del comando 'logrotate' se proporciona de la siguiente manera:



logrotate [ OPCIÓN ] ruta_archivo_config

Se pueden utilizar diferentes tipos de opciones para diferentes propósitos con el comando 'logrotate'.

Opciones de Logrotate

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

-f, –fuerza Se utiliza para realizar la rotación con fuerza cuando sea necesario.
-d, –depurar Se utiliza para habilitar el modo de depuración durante la rotación.
-m, –correo Se utiliza para enviar un correo electrónico durante la rotación.
-s, –estado Se utiliza para archivos de estado alternativos.
-uso Se utiliza para imprimir la información de uso.
-?, -ayuda Se utiliza para imprimir los mensajes de ayuda.
-v, –detallado Se utiliza para imprimir en modo detallado.

 

Archivo de configuración Logrotate

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

$ nano / etc. / logrotate.conf

La configuración predeterminada del comando 'logrotate' se muestra en el archivo 'logrotate.conf'. La directiva 'incluir' se utiliza en el archivo para recuperar la configuración que se encuentra en el directorio '/etc/logrotate.d'.

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

Cree un archivo de registro de muestra llamado '/var/log/test.log' con los datos de registro de muestra. Ejecute el siguiente comando para abrir el editor nano y crear un nuevo archivo 'logrotate.conf' en la ubicación de la carpeta '/etc/tmp'. Cree la carpeta “/tmp” con privilegios de root si no se creó antes.

$ nano / etc. / tmp / logrotate.conf

Agregue el siguiente contenido al archivo para el archivo “/var/log/test.log”. Según la configuración, el archivo “test.log” se rotará diariamente si el tamaño del archivo supera los 5K:

/ era / registro / prueba.log {

a diario

  tamaño 5K

  su administrador raíz

}

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

$ es -l / era / registro / prueba.log

Ejecute el comando 'logrotate' después de crear el archivo de configuración.

$ sudo logrotate / etc. / tmp / logrotate.conf

Ejecute el siguiente comando nuevamente para verificar el tamaño del archivo de registro después de ejecutar el comando 'logrotate':

$ es -l / era / registro / prueba.log

El tamaño del archivo “test.log” es 1K+. Por lo tanto, no se realiza ninguna rotación según la configuración.

Cambie el valor del tamaño a 1K en el archivo “/etc/tmp/logrotate.conf” 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 rota y se elimina porque se excede 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. De acuerdo con la nueva configuración, logrotate crea una copia del archivo original reduciendo el tamaño del archivo original a cero.

/ era / registro / prueba.log {

girar 5

  tamaño 1k

copiartruncar

  su administrador raíz

}

 

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

$ es -l / era / registro / prueba.log

Ejecute el comando 'logrotate' después de crear el archivo de configuración.

$ sudo logrotate / etc. / tmp / logrotate.conf

Ejecute el siguiente comando nuevamente para verificar el tamaño del archivo “test.log” después de ejecutar el comando “logrotate”:

$ es -l / era / registro / prueba.log

El tamaño del archivo original pasa a ser 0 después de ejecutar el comando 'logrotate' para la configuración copytruncate.

Ejemplo 3: uso de la compresa 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.

/ era / registro / prueba.log {

girar 5

  tamaño 1k

comprimir

crear 770 administrador raíz

}

 

Ejecute el siguiente comando para verificar la lista de archivos y carpetas de “/var/log”:

$ es / era / registro /

Ejecute el comando 'logrotate' después de crear el archivo de configuración.

$ sudo logrotate / etc. / tmp / logrotate.conf

Ejecute el siguiente comando nuevamente para verificar la lista de archivos y carpetas de “/var/log”:

$ es / era / registro /

El archivo comprimido del archivo “test.log” se crea con el nombre “test.log.1.gz” y se elimina 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. De acuerdo con la nueva configuración, logrotate crea un archivo comprimido del archivo original con el valor de fecha.

era / registro / prueba.log {

  su administrador raíz

girar 5

  tamaño 1k

comprimir

crear 770 administrador raíz

fechatexto
 
}

Ejecute el comando 'logrotate' después de crear el archivo de configuración.

$ sudo logrotate / etc. / tmp / logrotate.conf

Ejecute el siguiente comando para verificar la lista de archivos y carpetas de “/var/log”:

$ es -l / era / registro /

El archivo comprimido del archivo “test.log” se crea con el nombre “test.log.20240129.gz” y se elimina 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. Según la configuración, logrotate mantiene cinco entradas de registro si el tamaño del archivo de registro supera 1K después de un día.

/ era / registro / prueba.log {

  su administrador raíz

girar 5

  tamaño 1k

comprimir

máximo 1

}

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

$ sudo logrotate -s = / era / registro / salir.log / etc. / tmp / logrotate.conf

Según el siguiente resultado, el archivo 'out.log' se crea 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'.

/ era / registro / archivo de prueba.log {

  su administrador raíz

girar 5

  tamaño 1k

comprimir

}

Se imprime 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 imprime ningún error para el archivo de registro que falta.

Ejemplo 7: Uso de Logrotate Prerotate

Cree un archivo Bash llamado 'test.sh' con el siguiente script que imprime un mensaje simple. El archivo se utiliza en este ejemplo de logrotate para mostrar el uso de prerotate en el archivo de configuración de logrotate.

test.sh

 

#!/bin/bash

eco 'ejemplos de logrotación...'

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

$ chmod a+x / hogar / comprensión / test.sh

Ahora, cree o modifique el archivo “/etc/tmp/logrotate.conf” con la siguiente configuración. Según la configuración, logrotate mantiene cinco 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.

/ era / registro / prueba.log {

  su administrador raíz

girar 5

  tamaño 1k

pre-rotado

  / hogar / comprensión / test.sh

guión final

}

La salida del archivo “test.sh” se muestra después de ejecutar el comando “logrotate”:

Conclusión

Los diversos usos del comando 'logrotate' se muestran en este tutorial utilizando múltiples ejemplos que ayudarán al usuario de Linux a conocer los usos del comando y administrar los archivos de registro correctamente.