Suivant: , Précédent: , Monter: Services   [Table des matières][Index]


8.8.3 Rotation des journaux

Les fichiers journaux comme ceux qui se trouvent dans /var/log ont tendance à grandir sans fin, donc c’est une bonne idée de le faire tourner de temps à autres — c.-à-d. archiver leur contenu dans des fichiers séparés, potentiellement compressés. Le module (gnu services admin) fournit une interface pour GNU Rot[t]log, un outil de rotation de journaux (voir GNU Rot[t]log Manual).

L’exemple ci-dessous définit un système d’exploitation qui fournit la rotation des journaux avec les paramètres par défaut, pour les journaux les plus courants.

(use-modules (guix) (gnu))
(use-service-modules admin mcron)
(use-package-modules base idutils)

(operating-system
  ;; …
  (services (cons (service rottlog-service-type)
                  %base-services)))
Variable Scheme : rottlog-service-type

C’est le type du service Rotlog, dont la valeur est un objet rottlog-configuration.

D’autres services peuvent étendre celui-ci avec de nouveaux objets log-rotation (voir plus bas), en augmentant ainsi l’ensemble des fichiers à faire tourner.

Ce type de service peut définir des taches (voir Exécution de tâches planifiées) pour lancer le service rottlog.

Type de données : rottlog-configuration

Type de données représentant la configuration de rottlog.

rottlog (par défaut : rottlog)

Le paquet Rottlog à utiliser.

rc-file (par défaut : (file-append rottlog "/etc/rc"))

Le fichier de configuration Rottlog à utiliser (voir Mandatory RC Variables dans GNU Rot[t]log Manual).

rotations (par défaut : %default-rotations)

Une liste d’objets log-rotation définis plus bas.

jobs

C’est une liste de gexps où chaque gexp correspond à une spécification de tache de mcron (voir Exécution de tâches planifiées).

Type de données : log-rotation

Type de données représentant la rotation d’un groupe de fichiers journaux.

En reprenant un exemple du manuel de Rottlog (voir Period Related File Examples dans GNU Rot[t]log Manual), on peut définir la rotation d’un journal de cette manière :

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

La liste des champs est la suivante :

frequency (par défaut : 'weekly)

La fréquence de rotation, un symbole.

files

La liste des fichiers ou des motifs de noms de fichiers à faire tourner.

options (par défaut : '())

La liste des options de rottlog pour cette rotation (voir Configuration parameters dans GNU Rot[t]lg Manual).

post-rotate (par défaut : #f)

Soit #f, soit une gexp à exécuter une fois la rotation terminée.

Variable Scheme : %default-rotations

Spécifie la rotation hebdomadaire de %rotated-files et de quelques autres fichiers.

Variable Scheme : %rotated-files

La liste des fichiers contrôlés par syslog à faire tourner. Par défaut il s’agit de : '("/var/log/messages" "/var/log/secure")


Suivant: , Précédent: , Monter: Services   [Table des matières][Index]