Suivant: Services réseau, Précédent: Exécution de tâches planifiées, Monter: Services [Table des matières][Index]
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).
Ce service fait partie de %base-services
, et se trouve donc activé
par défaut, avec les paramètres par défaut, pour les fichiers journaux les
plus fréquemment rencontrés. L’exemple ci-dessous montre comment l’étendre
avec une rotation supplémentaire, si vous devez le faire
(généralement, les services qui produisent des fichiers journaux s’en
chargent déjà) :
(use-modules (guix) (gnu)) (use-service-modules admin) (define my-log-files ;; Log files that I want to rotate. '("/var/log/something.log" "/var/log/another.log")) (operating-system ;; … (services (cons (simple-service 'rotate-my-stuff rottlog-service-type (list (log-rotation (frequency 'daily) (files my-log-files)))) %base-services)))
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 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 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.
Spécifie la rotation hebdomadaire de %rotated-files
et de
/var/log/guix-daemon.log.
La liste des fichiers contrôlés par syslog à faire tourner. Par défaut il
s’agit de : '("/var/log/messages" "/var/log/secure" "/var/log/debug" \
"/var/log/maillog")
.
Suivant: Services réseau, Précédent: Exécution de tâches planifiées, Monter: Services [Table des matières][Index]