Ceci est une ancienne révision du document !


Logrotate

Logrotate permet de limiter la taille des fichiers journaux présents dans /var/log.

Pour chaque fichier journal, logrotate réalise 2 opération simultanées :

  • la rotation : il archive le fichier journal sous un autre nom et supprime la plus ancienne archive
  • la compression : il compresse éventuellement le fichier journal avant de l'archiver

Si l'on regarde le fichier syslog, on voit qu'il a d'autres fichiers similaires avec une extension ajoutée :

~$ ls -l /var/log/syslog*
-rw-r----- 1 syslog adm 45432 2011-09-24 10:12 /var/log/syslog
-rw-r----- 1 syslog adm 44442 2011-09-21 19:45 /var/log/syslog.1
-rw-r----- 1 syslog adm 31536 2011-09-19 21:04 /var/log/syslog.2.gz
-rw-r----- 1 syslog adm 72503 2011-09-18 15:45 /var/log/syslog.3.gz
-rw-r----- 1 syslog adm 21218 2011-09-17 09:45 /var/log/syslog.4.gz
-rw-r----- 1 syslog adm 10859 2011-09-16 18:28 /var/log/syslog.5.gz
-rw-r----- 1 syslog adm 74381 2011-09-07 23:15 /var/log/syslog.6.gz
~$

Le fichier sans extension est le fichier en cours d'utilisation. Les archives sont numérotés de la plus récente à la plus ancienne (extensions "1", "2", "3", …).

Lors d'une nouvelle rotation, le fichier le plus ancien est supprimé puis chaque archive a un numéro d'extension qui est incrémenté. Le fichier courant qui vient d'être archivé reçoit alors l'extension "1". Un nouveau fichier journal est créé pour permettre à l'application correspondante de continuer à enregistrer ses informations.

En définissant le nombre maximum d'archives ainsi que la fréquence de rotation (journalière, hebdomadaire, mensuelle, …), on limite la taille occupée par un journal.

La compression permet de réduire la taille des archives qui subissent une rotation.

Cependant la compression n'est pas forcément un avantage compte tenu de la baisse du coût de stockage.

En effet, la compression des archives réalise plus d'échange avec le support de stockage et utilise plus de processeur et de mémoire. Cela entraine une augmentation de l'usure du disque et de la consommation d'énergie globale.

Pour réduire l'espace utilisé par le stockage des journaux, vous pouvez réduire le nombre d'archives (numéro maximum) et augmenter la fréquence de rotation.

La compression peut être paramétrée globalement dans le fichier /etc/logrotate.conf.

Un paramétrage pour chaque application peut être redéfinit dans les fichiers présents dans le répertoire /etc/logrotate.d.

Avec l'option "nocompress", logrotate renomme simplement le fichier en 'nom_de_fichier_journal.log.1', avec très peu d'échange disque puisque seul le nom du fichier est changé dans le système de fichier, le contenu reste inchangé.

Avec les options "compress", logrotate lit le contenu du fichier à compresser (lecture du disque), le compresse (utilisation du processeur), puis écrit tout le contenu compressé (écriture sur le disque) dans un nouveau fichier du type 'nom_de_fichier_journal.log.1.gz'.

Les options "delaycompress" et "nodelaycompress" sont similaires respectivement aux options "compress" et "nocompress" à la différence que la compression ne s'opère qu'à partir de la deuxième rotation d'un fichier journal (lors du passage du numéro "1" à "2").

  • logrotate.1323958957.txt.gz
  • Dernière modification: Le 27/09/2013, 13:50
  • (modification externe)