Siguiente: Servicios de red, Anterior: Ejecución de tareas programadas, Subir: Servicios [Índice general][Índice]
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)))
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 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 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.
Especifica la rotación semanal de %rotated-files
y de
/var/log/guix-daemon.log.
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: Servicios de red, Anterior: Ejecución de tareas programadas, Subir: Servicios [Índice general][Índice]