Logrotate : gérez la rotation de vos logs !

Logrotate est une démon présent sur la plupart des distributions Linux qui permet de gérer la rotation des fichiers journaux (logs).

Il effectue à cet effet des actions de rotations et de compression sur les logs, qui permettra de limiter la taille de ces derniers et ainsi de vous faire gagner de l’espace disque, un facteur primordial.

Dans cet article, on imagine qu’un service quelconque génèrera ses logs dans deux fichiers : auth.log et errors.log

Nous allons voir comment assurer la rotation de ces deux fichiers en quelques étapes très simples.


On commence par vérifier que tous les fichiers dans /etc/logrotate.d seront pris en compte :

Il faut s’assurer que la ligne « include /etc/logrotate.d » ne soit pas commentée, sinon on la dé-commente (enlever « # ») :

On créé un dossier « mylogs » dans /var/log, puis on se déplace dedans :

On créé les fichiers « auth.log » et « errors.log », on affecte les droits adéquates et on vérifie que tout soit bon :

Puis on peut passer à la configuration dans logrotate.d, pour cela, on créé un fichier « mylogs » dans /etc/logrotate.d :

Concernant le contenu, on peut utiliser différentes options. Je vous conseille de faire un « man logrotate » et de consulter la partie « CONFIGURATION FILE » pour voir toutes les possibilités.

Vous pouvez également consulter le manuel ici directement.

Dans notre cas, on souhaite avoir une rotation mensuelle et ne conserver les logs que sur une année, on ajoute alors au fichier « /etc/logrotate.d/mylogs » les lignes suivantes :

Il faut s’assurer de déclarer les options pour chaque fichier et de conserver le même format.

Concernant les options utilisées :

  • monthly : la rotation se fait mensuellement
  • rotate 12 : le nombre de fichiers qu’on souhaite conserver
  • compress : les anciens fichiers sont compressés
  • missingok : ne considère pas l’absence du fichier comme une erreur
  • create 644 root root : créé le fichier de log immédiatement après la rotation avec les droits adéquats

Pour vérifier que tout fonctionne, on peut forcer la rotation des logs grâce à la commande suivante :

Après cela, on peut voir que la configuration semble fonctionnelle car nous obtenons des fichiers incrémentés et compressés :


Par la suite, si on souhaite décompresser une archive pour consulter les logs, on utilise simplement gunzip !

Exemple :

On récupère bien le contenu de nos précédents logs !

Vous aimerez aussi...

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée.

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.