Siguiente: , Anterior: , Subir: Servicios   [Índice general][Índice]


10.8.3 Rotación del registro de mensajes

Los archivos de registro como los encontrados en /var/log tienden a crecer indefinidamente, de modo que es buena idea llevar a cabo una rotación de vez en cuando—es decir, archivar su contenido en archivos distintos, posiblemente comprimidos. El módulo (gnu services admin) proporciona una interfaz con GNU Rot[t]log, una herramienta de rotación de registros (véase GNU Rot[t]log Manual).

Este servicio es parte de %base-services, y por lo tanto se activa de manera predeterminada, con la configuración predeterminada, para archivos de registro que se pueden encontrar habitualmente. El siguiente ejemplo muestra como extenderlo con una rotación adicional, en caso de que deba hacerlo (habitualmente los servicios que producen archivos de registro ya lo hacen ellos mismos):

(use-modules (guix) (gnu))
(use-service-modules admin)

(define mis-archivos-de-registro
  ;; Archivos que deseo rotar.
  '("/var/log/un-archivo.log" "/var/log/otro.log"))

(operating-system
  ;; …
  (services (cons (simple-service 'rota-mis-cosas
                                  rottlog-service-type
                                  (list (log-rotation
                                         (frequency 'daily)
                                         (files mis-archivos-de-registro))))
                  %base-services)))
Variable Scheme: rottlog-service-type

Este es el tipo del servicio Rottlog, cuyo valor es un objeto rottlog-configuration.

Otros servicios pueden extenderlo con nuevos objetos log-rotation (véase a continuación), aumentando de dicho modo el conjunto de archivos a rotar.

Este servicio puede definir trabajos de mcron (véase Ejecución de tareas programadas) para ejecutar el servicio rottlog.

Tipo de datos: rottlog-configuration

Tipo de datos que representa la configuración de rottlog.

rottlog (predeterminado: rottlog)

El paquete Rottlog usado.

rc-file (predeterminado: (file-append rottlog "/etc/rc"))

El archivo de configuración de Rottlog usado (véase Mandatory RC Variables en GNU Rot[t]log Manual).

rotations (predeterminadas: %default-rotations)

Una lista de objetos log-rotation como se define a continuación.

jobs

Esta es una lista de expresiones-G donde cada expresión-G corresponde a una especificación de trabajo de mcron (véase Ejecución de tareas programadas).

Tipo de datos: log-rotation

Tipo de datos que representa la rotación de un grupo de archivos de log.

Tomando el ejemplo del manual de Rottlog (véase Period Related File Examples en GNU Rot[t]log Manual), una rotación de registros se podría definir de esta manera:

(log-rotation
  (frequency 'daily)
  (files '("/var/log/apache/*"))
  (options '("storedir apache-archives"
             "rotate 6"
             "notifempty"
             "nocompress")))

La lista de campos es como sigue:

frequency (predeterminada: 'weekly)

La frecuencia de rotación de logs, un símbolo.

files

La lista de archivos o patrones extendidos de archivo a rotar.

options (predeterminadas: '())

La lista de opciones de rottlog para esta rotación (véase Configuration parameters en GNU Rot[t]log Manual).

post-rotate (predeterminado: #f)

O bien #f, o bien una expresión-G que se ejecutará una vez la rotación se haya completado.

Variable Scheme: %default-rotations

Especifica la rotación semanal de %rotated-files y de /var/log/guix-daemon.log.

Variable Scheme: %rotated-files

La lista de archivos controlados por syslog que deben ser rotados. De manera predeterminada es '("/var/log/messages" "/var/log/secure" "/var/log/maillog").


Siguiente: , Anterior: , Subir: Servicios   [Índice general][Índice]