User Tools

Site Tools


informatique:linux:logrotate

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revisionBoth sides next revision
informatique:linux:logrotate [2015/08/10 13:36] – créée pteuinformatique:linux:logrotate [2015/08/21 14:21] – effacée pteu
Line 1: Line 1:
-======Logrotate====== 
- 
-**Logrotate** est un programme qui permet de gérer les fichiers de logs que l'on a sur une machine Linux. Concrètement cela consiste à permuter les fichiers de logs c'est-à-dire de changer de fichier pour ne pas qu'il soit trop volumineux, de les renommer, de les déplacer et/ou de les compresser pour qu'ils prennent moins de place. C'est un outil indispensable, c'est pourquoi il est installé par défaut sur toutes les distributions Linux. 
- 
-Son fichier principal est ''/etc/logrotate.conf'', mais comme souvent il inclue tous les fichiers de configuration déposés dans ''/etc/logrotate.d/''. La syntaxe est la suivante : 
-<code bash> 
-cible(s) 
-{ 
-   paramètres 
-} 
-</code> 
- 
-Examinons le fichier ''/etc/syslog.d/syslog'' qui s'occupe des logs générés par le programme syslog : 
-<code bash> 
-/var/log/cron 
-/var/log/maillog 
-/var/log/messages 
-/var/log/secure 
-/var/log/spooler 
-/tmp_user/ldri101z/hdevilli/logs/*log 
-{ 
-    sharedscripts 
-    postrotate 
-        /bin/kill -HUP `cat /var/run/syslogd.pid 2> /dev/null` 2> /dev/null || true 
-    endscript 
-} 
-</code> 
-  * on voit que ce fichier cible plusieurs fichiers situés dans ''/var/log'' : cron, maillog, messages, secure et spooler. A noter qu'on peut utiliser des jokers (par exemple ''/var/log/*.log'' pour cibler tous les fichiers ''.log'' du répertoire ''/var/log'' 
-  * la section **postrotate** / **endscript** encadre une ou des lignes de script qui seront effectuer juste après la rotation de logs ; ici on relance le démon syslogd. 
-  * **sharedscript** spécifie que la section **postrotate** ne s'exécutera qu'une seule fois pour toutes les cibles. En effet il serait inutile de relancer syslogd  cinq fois de suite ! 
- 
-Les autres options non spécifiées ici seront récupérées dans ''/etc/logrotate.conf'', à savoir : 
-<code bash> 
-rotate 4           # on ne conserve que les 4 plus récents fichiers de logs 
-dateext            # on suffixe les fichiers avec la date de la rotation 
-</code> 
- 
-D'autres options utiles sont disponibles, notamment : 
-<code bash> 
-daily | weekly | monthly | yearly # spécifie l'intervalle de rotation (weekly = une fois par semaine) 
-size <taille>      # provoque une rotation quand le fichier cible dépasse cette taille (on peut utiliser rien, k ou M pour préciser l'unité) 
-minsize <taille>   # définie la taille minimal du fichier de log, sinon on ne le traite pas 
-compress           # permet de compresser les fichiers de logs 
-delaycompress      # ne compresse pas le premier fichier de rotation (c'est le fameux "messages.1" au milieu des messages.X.gz) 
-missingok          # continue le traitement même en cas de fichier manquant 
-create <umask> <user> <group> # indique les attributs des fichiers créés (l'umask ainsi que l'utilisateur et le groupe) 
-olddir <dir>       # indique le répertoire où déplacer les fichiers pour effectuer la rotation 
-                   # NB : ce répertoire doit être sur le même périphérique physique que le journal en cours de permutation 
-</code> 
  
informatique/linux/logrotate.txt · Last modified: 2021/06/21 07:49 by pteu