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 29/09/2013, 17:24]
LeJerome [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.
  
-Pour chaque fichier journal, logrotate réalise 2 opération ​simultanées :+Pour chaque fichier journal, logrotate réalise 2 opérations ​simultanées :
   * la **rotation** : il archive le fichier journal sous un autre nom et supprime la plus ancienne archive   * 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   * la **compression** : il compresse éventuellement le fichier journal avant de l'​archiver
  
-===== Installer Logrotate ===== +La compression diminue : 
-Step 1—Update System and System Packages +  * l'​espace disque utilisé 
-Run the following command to update the package lists from apt-get and get the information on the newest versions of packages and their dependencies.+mais **augmente** : 
 +  * la **quantité de données lues et écrites sur le disque** : **usure du disque** 
 +  * la **consommation d'​énergie**
  
-<​note>​sudo apt-get update</​note>​+<​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>​
  
-Step 2—Install Logrotate 
-If logrotate is not already on your VPS, install it now through apt-get. 
  
-<​note>​sudo apt-get install logrotate</​note>​+===== Installation=====
  
-Step 3 — Confirmation +logrotate ​est normalement installé par défaut sur votre systèmes'il ne l'est pas, [[:​tutoriel:​comment_installer_un_paquet|installez le paquet]] **[[apt>​logrotate]]**.
-To verify that logrotate ​was successfully installedrun this in the command prompt.+
  
-<​note>​logrotate</​note>​+=====Utilisation===== 
 +Pour vérifier que Logrotate a été installé correctement,​ on exécute cette commande dans un terminal
  
 +<​code>​logrotate</​code>​
  
-Since the logrotate utility is based on configuration ​filesthe above command will not rotate any files and will show you a brief overview of the usage and the switch ​options ​available+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
-Step 4—Configure Logrotate +=====Configuration=====
-Configurations and default options for the logrotate utility are present in:+
  
-<​note>​/​etc/​logrotate.conf</​note>​+Les configurations et les options par défaut de l'​utilitaire Logrotate sont disponibles dans le fichier **/​etc/​logrotate.conf**.
  
  
-Some of the important configuration settings are : rotation-interval,​ log-file-size,​ rotation-count ​and compression.+Quelques-uns des réglages importants à configurer sont : rotation-interval,​ log-file-size,​ rotation-count ​et compression.
  
-Application-specific log file information ​(to override the defaultsare kept at:+Les informations spécifiques à la journalisation de certaines applications ​(surchargeant les paramètres par défautsont conservées dans le répertoire **/​etc/​logrotate.d/​**.
  
-<​note>/​etc/​logrotate.d/</​note>​+Ne pas hésiter à consulter certains exemples afin de comprendre un peu mieux ce concept
  
 +====Exemple ====
  
-We will have a look at a few examples to understand the concept better. +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:
-Step 5—Example +
-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:+
  
-<note>/​var/​log/​dpkg.log {+<file>/​var/​log/​dpkg.log {
  monthly  monthly
  rotate 12  rotate 12
Ligne 52: Ligne 52:
  notifempty  notifempty
  create 644 root root  create 644 root root
-}</note>+}</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' signifie qu'à chaque intervalle, on conserve 12 mois de journalisation.\\ 
 +  * 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'​ permet au processus de ne pas s'​arrêter à chaque erreur et de poursuivre avec le fichier de log suivant.\\ 
 +  * '​notifempty'​ empêche la rotation de s'​effectuer si le fichier de log est vide.\\ 
 +  * '​create <​mode>​ <​owner>​ <​group>'​ créé un fichier vide avec les propriétés spécifiées,​ après la rotation ​des logs.
  
-    ​'rotate 12' ​signifies that 12 days worth of logs would be kept.+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* !)
  
-    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.+Par exemple, pour limiter ce poids à 100MB, on ajouterait :
  
-    '​missingok'​ avoids halting on any error and carries on with the next log file.+<file>size 100M</​file>​
  
-    ​'notifempty' ​avoid log rotation ​if the logfile is empty.+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 :
  
-    '​create ​<mode> <owner<​group>'​ creates a new empty file with the specified properties after log-rotation.+<file>monthly 
 +size 100M</file>
  
-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.+alorsla rotation se fera dès lors que votre fichier de logs atteint les 100M et ce, sans attendre la prochaine rotation mensuelle. 
 +====Tâche Cron ====
  
-configuration ​setting of around 100MB would look like:+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.
  
-<​note>​size 100M</​note>​ 
  
 +==== Statut et Vérification ====
  
-Note that If both size and rotation ​interval are setthen size is taken as a higher priorityThat isif configuration file has the following settings:+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 lisiblequi contient le nom du fichier de logs et la date à laquelle il subi sa dernière rotation.
  
-<note>monthly +<code>cat /​var/​lib/​logrotate/​status</​code
-size 100M</note>+ou 
 +<​code>​cat /​var/​lib/​logrotate/​logrotate.status</code
  
-then the logs are rotated once the file size reaches 100M and this need not wait for the monthly cycle. 
-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. 
-Step 7—Status Check and Verification 
-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. 
  
-<​note>​cat /​var/​lib/​logrotate/​status</​note> ​+Quelques entrées de ce fichier, pour exemple:
  
 +''"/​var/​log/​lpr.log"​ 2013-4-11\\
 +"/​var/​log/​dpkg.log"​ 2013-4-11\\
 +"/​var/​log/​pm-suspend.log"​ 2013-4-11\\
 +"/​var/​log/​syslog"​ 2013-4-11\\
 +"/​var/​log/​mail.info"​ 2013-4-11\\
 +"/​var/​log/​daemon.log"​ 2013-4-11\\
 +"/​var/​log/​apport.log"​ 2013-4-11\\
 +don't forget to check your host before editing anything
 +''​
  
-A few entries from this file, for example: +==== La rotation ====
- +
-"/​var/​log/​lpr.log"​ 2013-4-11 +
-"/​var/​log/​dpkg.log"​ 2013-4-11 +
-"/​var/​log/​pm-suspend.log"​ 2013-4-11 +
-"/​var/​log/​syslog"​ 2013-4-11 +
-"/​var/​log/​mail.info"​ 2013-4-11 +
-"/​var/​log/​daemon.log"​ 2013-4-11 +
-"/​var/​log/​apport.log"​ 2013-4-11 +
- +
- +
-===== 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 118: 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 129: 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 136: 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.1380468261.txt.gz
  • Dernière modification: Le 29/09/2013, 17:24
  • par LeJerome