Configurer la rotation de logs sous RHEL/Centos 7 avec logrotate
  Publié le : 24 juin 2016     Par : Hicham ABOULAINAIN    0 Commentaires


Présentation

Logrotate est un outil qui nous permet de faire tourner systématiquement et archiver tous les fichiers logs produits par le système en  réduisant ainsi les besoins en espace disque d’un système d’exploitation. Dans cet article, nous allons parler de l’utilisation et la configuration de logrotate sur un serveur RedHat/CentOS 7.x

Qu’est-ce que Logrotate?

Logrotate vous permettra de gérer  les serveurs qui génèrent un volume important des fichiers logs, et grâce à lui vous pouvez automatiser la permutation, la compression, la suppression, et l’envoi des logs. Chaque fichier log peut être traité quotidiennement, hebdomadairement, mensuellement, ou quand il devient trop volumineux. Par défaut logrotate est invoquée une fois par jour en utilisant la tâche cron de /etc/cron.daily/

Configurer la rotation de log avec Logrotate

Vous pouvez configurer Logrotate en éditant les  fichiers de configuration suivants:

  • /etc/logrotate.conf
  • le fichiers de configuration spécifiques de service stockés dans /etc/logrotate.d/.

Le fichier principal de /etc/logrotate.conf contient une configuration générique. Voici la configuration de logrotate par défaut:

d’où :

  • weekly : Option de configuration qui permet d’assure une rotation hebdomadaire de tous les fichiers log définis dans le fichier de configuration principal et dans les fichiers spécifiques du répertoire /etc/logrotate.d/.
  •  rotate 4 : Option qui indique à logrotate de garde 4 semaines de sauvegarde de tous les fichiers logs
  •  create: Option qui indique à logrotate de créer des nouveaux fichiers logs vides après chaque rotation
  • dateext : Option de configuration qui permet d’ajouter une extension sous forme de date à tous les fichiers logs générés par logrotate
  •  include /etc/logrotate.d : Option qui permet de charger les fichiers de configuration spécifique des services

Ajouter le fichier log d’un script à Logrotate

Après avoir vu les fichiers de configuration de logrotate , nous allons maintenant configurer la rotation de log pour un nouveau fichier log d’un script de Backup qui tourne chaque 4 heure . mon fichier log se trouve dans /appli/log/backupfull.log et doit être mis en rotation chaque jour.

Premièrement, nous devons créer un nouveau fichier de configuration de logrotate pour notre nouveau fichier log:

Ajoutez les lignes suivantes au fichier:

d’où :

  • missingok : n’affiche pas l’erreur sur la sortie si le fichier log est manquant
  • notifempty: ne pas mettre en rotation le fichier log s’il est vide
  • compress: Les anciennes versions de fichiers journaux sont compressés par défaut avec gzip
  • size: Le fichier journal est mis en rotation dés que sa taille est plus grande que 20 k
  • daily: assure la rotation quotidienne
  • create: crée le nouveau fichier log avec la permission 600

Tester la nouvelle configuration de Logrotate

Une fois que vous avez créé le nouveau fichier de configuration logrotate du script dans /etc/logrotate.d, forcez  la rotation de tous les fichiers logs avec la commande suivante:

Attention: cette commande va faire la rotation de tous les fichiers logs déclarés dans /etc/logrotat.d
Maintenant accédez à nouveau au dossier /appli/log et vérifiez que votre fichier/appli/log/backupfull.log  a été tourné et un nouveau fichier log a été créé:

Configure-logrotate

Comme vous voyez  le nouveau fichier journal vide backupfull.log a été créé et l’ancien fichier a été compressé avec gzip et renommé en ajoutant l’extension de la date.

si vous voulez visualisez le contenu de ce fichier vous pouvez lancer la commande:

Partagez Share on FacebookShare on Google+Tweet about this on TwitterShare on LinkedIn

Laisser un commentaire

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

 
1000 caractères restants