Abdussamad.com

CentOSDe nombreux démons fonctionnant dans CentOS Linux créent leurs propres fichiers journaux. Ces fichiers journaux contiennent des messages utiles relatifs au fonctionnement de ces démons. Par exemple, des messages d’erreur qui aident à diagnostiquer les problèmes du système. Au fil du temps, ces fichiers journaux doivent faire l’objet d’une rotation afin d’être plus faciles à gérer. La rotation des journaux est le processus qui consiste à diviser les gros fichiers journaux et à archiver les anciens fichiers journaux pour les consulter ultérieurement. Dans CentOS, un programme appelé logrotate est responsable de la rotation des fichiers journaux. Dans ce billet, je regarde comment personnaliser le fonctionnement de logrotate.

Exécution de logrotate

logrotate est exécuté quotidiennement par cron via le fichier /etc/cron.daily/logrotate. Dans CentOS 5.x, cron est responsable de l’exécution des tâches cron système comme logrotate. Il peut être configuré en éditant /etc/crontab.

Dans CentOS 6.x anacron est installé par défaut et est responsable de l’exécution des tâches cron système.

logrotate.conf

logrotate.conf est situé dans /etc/ et détient la configuration par défaut à l’échelle du système pour logrotate. Par défaut sur CentOS, logrotate fera tourner les journaux toutes les semaines et maintiendra 4 semaines de backlogs. Vous pouvez personnaliser logrotate.conf mais il est généralement préférable de personnaliser la configuration de rotation des journaux de chaque démon dans /etc/logrotate.d/

/etc/logrotate.d/

Ce répertoire contient les fichiers de rotation des journaux pour différents services exécutés sur le système.

Un fichier typique dans ce répertoire est celui-ci pour Apache ( /etc/logrotate.d/httpd ) :

/var/log/httpd/*log { missingok monthly notifempty sharedscripts postrotate /sbin/service httpd reload > /dev/null 2> /dev/null || true endscript}

La première ligne est une expression régulière qui correspond aux fichiers journaux. Dans ce cas, tous les fichiers se terminant par « log » et résidant dans le répertoire /var/log/httpd.

Ensuite, à l’intérieur des accolades ouvrantes et fermantes, vous avez les options de rotation des journaux pour les fichiers de ce démon. Dans le cas ci-dessus, vous avez une rotation mensuelle configurée.

Options pour logrotate

Certaines des options que vous pouvez inclure dans le fichier logrotate.conf ou dans les fichiers de rotation des journaux de chaque démon dans /etc/logrotate.d/ sont :

  • rotation : Spécifiez le nombre de journaux de retour à conserver en utilisant l’option rotate. Par exemple « rotate 5 » conservera 5 anciens fichiers journaux.
  • comprimer : Comprimera les anciens fichiers journaux pour économiser de l’espace disque.
  • quotidien, hebdomadaire, mensuel ou annuel : Faire tourner les journaux après que la période spécifiée soit passée.
  • taille : Spécifiez la taille du fichier journal pour déclencher la rotation. Par exemple « size 50M » fera tourner le fichier journal s’il a une taille de 50 Mo ou plus. Vous pouvez utiliser le préfixe M pour mégaoctets, k pour kilooctets et G pour gigaoctets. Si aucun préfixe n’est utilisé, il le prendra pour signifier octets.
  • minsize : C’est comme la taille sauf qu’il prend aussi en compte la période ( mensuelle, hebdomadaire etc.). Ainsi, il ne fera tourner les fichiers journaux que si la période est atteinte ET que les fichiers journaux sont plus grands que la taille minimale spécifiée.
  • prerotate et postrotate : Ceux-ci spécifient les commandes que vous pouvez exécuter avant et après la rotation des journaux. Par exemple, redémarrer le démon après la rotation des journaux.

Pour la liste complète des options disponibles, voir le fichier man de logrotate.conf ( man logrotate.conf sur CentOS ).

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *