Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
logrotate [Le 24/03/2015, 19:56]
loiseau2nuit [Étape 4 : Configurer Logrotate]
logrotate [Le 24/11/2023, 09:14] (Version actuelle)
90.89.138.125 [Statut et Vérification] Mise en forme exemple de fichier status
Ligne 1: Ligne 1:
 +{{tag>​Xenial Bionic Focal journal log système}}
 +-----
 ====== Logrotate ====== ====== Logrotate ======
  
-{{tag>​énergie}} 
  
 Logrotate permet de limiter la taille des fichiers journaux présents dans /var/log. Logrotate permet de limiter la taille des fichiers journaux présents dans /var/log.
Ligne 15: Ligne 16:
   * la **consommation d'​énergie**   * la **consommation d'​énergie**
  
-===== Installer Logrotate ===== +<note important>​Depuis la version **16.04**, ​les différents éléments du système sont lancés par **[[systemd|systemd]]** et c'est aussi lui qui tient à jour son propre système de journalisation nommé The Journal, enregistré dans le répertoire /​var/​log/​journal/​. Ainsi la gestion de ces journaux ne dépend pas de logrotate. Voir la page [[systemd|systemd]] pour plus d'​informations.</​note>​
-==== Etape 1 : Mettre le Système et les paquets ​à jour ==== +
-Executer ​la commande suivante pour mettre à jour la liste des paquets ​d'apt-get et obtenir les informations ​sur d'​éventuelles nouvelles versions des paquets et de leurs dépendances.+
  
-<​code>​sudo apt-get update</​code>​ 
  
-==== Étape 2 : Installer Logrotate ​==== +===== Installation=====
-Si logrotate n'est pas déjà présent sur votre système (machine perso ou serveur), l'​installer maintenant avec apt-get.+
  
-<​code>​sudo apt-get install ​logrotate</code>+logrotate ​est normalement installé par défaut sur votre système, s'il ne l'est pas, [[:​tutoriel:​comment_installer_un_paquet|installez le paquet]] **[[apt>logrotate]]**.
  
-==== Étape 3 : Confirmation ​==== +=====Utilisation===== 
-Pour vérifier que Logrotate a été installé correctement,​ on execute ​cette commande dans un terminal+Pour vérifier que Logrotate a été installé correctement,​ on exécute ​cette commande dans un terminal
  
 <​code>​logrotate</​code>​ <​code>​logrotate</​code>​
  
 Vu que l'​utilitaire Logrotate est basé sur des fichiers de configuration,​ la commande ci-dessus ne provoquera aucune rotation de fichier et se contentera de vous montrer un bref aperçu des usages et des options disponibles. Vu que l'​utilitaire Logrotate est basé sur des fichiers de configuration,​ la commande ci-dessus ne provoquera aucune rotation de fichier et se contentera de vous montrer un bref aperçu des usages et des options disponibles.
-==== Étape 4 : Configurer Logrotate ​====+=====Configuration=====
  
-Les configurations et les options par défaut de l'​utilitaire Logrotate sont disponibles dans le fichier:+Les configurations et les options par défaut de l'​utilitaire Logrotate sont disponibles dans le fichier ​**/​etc/​logrotate.conf**.
  
-<​code>/​etc/​logrotate.conf</​code>​ 
  
 +Quelques-uns des réglages importants à configurer sont : rotation-interval,​ log-file-size,​ rotation-count et compression.
  
-Quelques-uns des réglages importants à configurer sont : rotation-interval,​ log-file-size,​ rotation-count and compression. +Les informations spécifiques à la journalisation de certaines applications (surchargeant les paramètres par défaut) sont conservées dans le répertoire ​**/​etc/​logrotate.d/​**.
- +
-Les informations spécifiques à la journalisation de certaines applications (surchargeant les paramètres par défaut) sont conservées dans le répertoire+
- +
-<​code>​/​etc/​logrotate.d/​</​code>​+
  
 Ne pas hésiter à consulter certains exemples afin de comprendre un peu mieux ce concept Ne pas hésiter à consulter certains exemples afin de comprendre un peu mieux ce concept
  
-==== Step 5 : Example ​====+====Exemple ​====
  
-An example ​application ​configuration setting would be the dpkg (Debian ​package management system), that is stored in /​etc/​logrotate.d/​dpkg. ​One of the entries in this file would be:+Voici un exemple de configuration spécifique pour l'application ​DPKG (le gestionnaire de paquets de Debian), ​stocké dans le fichier **/​etc/​logrotate.d/​dpkg**Une des entrées de ce fichier pourrait se présenter comme suit:
  
-<code>/​var/​log/​dpkg.log {+<file>/​var/​log/​dpkg.log {
  monthly  monthly
  rotate 12  rotate 12
Ligne 59: Ligne 52:
  notifempty  notifempty
  create 644 root root  create 644 root root
-}</code>+}</file>
  
  
-What this means is that:+Que l'on peut traduire comme suit :
  
-  * the logrotation for dpkg monitors the /​var/​log/​dpkg.log ​file and does this on a monthly basis this is the rotation ​interval.\\ +  * pour dpkg, Logrotate surveille le fichier ​/​var/​log/​dpkg.log ​et génère une rotation une fois par mois c'est l'"​intervalle de rotation".\\ 
-  * '​rotate 12' ​signifies that 12 days worth of logs would be kept.\\ +  * '​rotate 12' ​signifie qu'à chaque intervalle, on conserve ​12 mois de journalisation.\\ 
-  * logfiles can be compressed using the gzip format ​by specifying ​'​compress' ​and '​delaycompress' ​delays the compression ​process till the next log rotation. '​delaycompress' ​will work only if '​compress' ​option is specified.\\ +  * Les fichiers de logs peuvent être compressés au format ​gzip en spécifiant ​'​compress' ​et, '​delaycompress' ​retarde le processus de compression ​jusqu'​à la prochaine ​rotation. '​delaycompress' ​ne fonctionnera que si l'​option ​'​compress' ​est clairement spécifiée.\\ 
-  * '​missingok' ​avoids halting on any error and carries on with the next log file.\\ +  * '​missingok' ​permet au processus de ne pas s'​arrêter à chaque erreur et de poursuivre avec le fichier de log suivant.\\ 
-  * '​notifempty' ​avoid log rotation ​if the logfile is empty.\\ +  * '​notifempty' ​empêche la rotation ​de s'​effectuer si le fichier de log est vide.\\ 
-  * '​create <​mode>​ <​owner>​ <​group>' ​creates a new empty file with the specified properties after log-rotation.+  * '​create <​mode>​ <​owner>​ <​group>' ​créé un fichier vide avec les propriétés spécifiées,​ après la rotation ​des logs.
  
-Though missing in the above example, '​size' ​is also an important ​setting if you want to control the sizing of the logs growing in the system.+Bien qu'​absent de l'​exemple ci-dessus, '​size' ​est également un paramètre ​important ​si vous souhaitez contrôler la taille des logs accumulés par le système(note personnelle : sur un serveur web de faible capacité par exemple, type VPS entrée de gamme, c'est *incontournable* !)
  
-A configuration setting of around ​100MB would look like:+Par exemple, pour limiter ce poids à 100MB, on ajouterait ​:
  
-<code>size 100M</code>+<file>size 100M</file>
  
 +Notez que, si '​size'​ et '​rotation'​ sont spécifiés ensemble, '​size'​ prend la priorité. Donc si votre fichier de configuration contient les paramètres suivants :
  
-Note that If both size and rotation interval are set, then size is taken as a higher priority. That is, if a configuration ​file has the following settings:+<​file>​monthly 
 +size 100M</file>
  
-<​code>​monthly +alors, la rotation se fera dès lors que votre fichier de logs atteint les 100M et ce, sans attendre la prochaine rotation mensuelle. 
-size 100M</​code>​+====Tâche Cron ====
  
-then the logs are rotated once the file size reaches 100M and this need not wait for the monthly cycle.+Vous pouvez aussi gérer la rotation des logs avec une tâche cron, pour éviter la configuration à la main et traiter ça de manière automatique. En créant une entrée dans /​etc/​cron.daily/​logrotate,​ la rotation des logs sera alors effectuée tous les jours.
  
-==== Step 6 : Cron Job ==== 
  
-You can also set the logrotation as a cron so that the manual process can be avoided and this is taken care of automatically. By specifying an entry in /​etc/​cron.daily/​logrotate , the rotation is triggered daily.+==== Statut et Vérification ====
  
-==== Step 7 : Status Check and Verification ====+Pour s'​assurer qu'un fichier de logs effectue correctement ses rotations ou, pour vérifier la date et l'​heure de sa dernière rotation, consulter le fichier /​var/​lib/​logrotate/​status ou logrotate.status. 
 +C'est un fichier aisément lisible, qui contient le nom du fichier de logs et la date à laquelle il a subi sa dernière rotation.
  
-To verify if a particular log is indeed rotating or not and to check the last date and time of its rotation, check the /​var/​lib/​logrotate/​status ​file. This is a neatly formatted file that contains the log file name and the date on which it was last rotated.+<​code>​cat ​/​var/​lib/​logrotate/​status</​code>​ 
 +ou 
 +<​code>​cat /​var/​lib/​logrotate/​logrotate.status</​code> ​
  
-<​code>​cat /​var/​lib/​logrotate/​status</​code> ​ 
  
 +Quelques entrées de ce fichier, pour exemple:
  
-A few entries from this file, for example: +''​"/​var/​log/​lpr.log"​ 2013-4-11\\
- +
-"/​var/​log/​lpr.log"​ 2013-4-11\\+
 "/​var/​log/​dpkg.log"​ 2013-4-11\\ "/​var/​log/​dpkg.log"​ 2013-4-11\\
 "/​var/​log/​pm-suspend.log"​ 2013-4-11\\ "/​var/​log/​pm-suspend.log"​ 2013-4-11\\
Ligne 104: Ligne 99:
 "/​var/​log/​mail.info"​ 2013-4-11\\ "/​var/​log/​mail.info"​ 2013-4-11\\
 "/​var/​log/​daemon.log"​ 2013-4-11\\ "/​var/​log/​daemon.log"​ 2013-4-11\\
-"/​var/​log/​apport.log"​ 2013-4-11 +"/​var/​log/​apport.log"​ 2013-4-11\\ 
 +don't forget to check your host before editing anything 
 +''​
  
-===== La rotation ​=====+==== La rotation ====
 Si l'on regarde le fichier syslog, on voit qu'il a d'​autres fichiers similaires avec une extension ajoutée : Si l'on regarde le fichier syslog, on voit qu'il a d'​autres fichiers similaires avec une extension ajoutée :
-<​code>​~ls -l /​var/​log/​syslog*+<​code>​~ls -l /​var/​log/​syslog*
 -rw-r----- 1 syslog adm 45432 2011-09-24 10:12 /​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 44442 2011-09-21 19:45 /​var/​log/​syslog.1
Ligne 124: Ligne 120:
 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. 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 ​=====+==== La compression ====
 La compression permet de réduire la taille des archives qui subissent une rotation. La compression permet de réduire la taille des archives qui subissent une rotation.
  
Ligne 135: Ligne 131:
 La compression peut être paramétrée globalement dans le fichier /​etc/​logrotate.conf. 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.+Un paramétrage pour chaque application peut être redéfini ​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 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é.
Ligne 142: Ligne 138:
  
 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"​). 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"​).
 +===== Forcer la rotation. =====
 +Il peut arriver qu'un gros journal soit en cours de fabrication.
 +Afin de le libérer proprement, il est possible de forcer la rotation.
 + <​code bash> sudo logrotate -f /​etc/​logrotate.conf </​code>​
  • logrotate.1427223388.txt.gz
  • Dernière modification: Le 24/03/2015, 19:56
  • par loiseau2nuit