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:02]
41.142.131.98 [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
-Setup Logrotate 
-Step 1—Update System and System Packages 
-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. 
  
-<​note>​sudo apt-get update</​note>​+La compression diminue : 
 +  * l'​espace disque utilisé 
 +mais **augmente** : 
 +  * la **quantité de données lues et écrites sur le disque** : **usure du disque** 
 +  * la **consommation d'​énergie**
  
-Step 2—Install 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>​
-If logrotate is not already on your VPSinstall it now through apt-get.+
  
-<​note>​sudo apt-get install logrotate</​note>​ 
  
-Step 3 — Confirmation +===== Installation=====
-To verify that logrotate was successfully installed, run this in the command prompt.+
  
-<​note>​logrotate</note>+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]]**.
  
 +=====Utilisation=====
 +Pour vérifier que Logrotate a été installé correctement,​ on exécute cette commande dans un terminal
  
-Since the logrotate ​utility is based on configuration files, the above command will not rotate any files and will show you a brief overview of the usage and the switch options available. +<​code>​logrotate</​code>​
-Step 4—Configure Logrotate +
-Configurations and default options for the logrotate utility are present in:+
  
-<​note>/​etc/​logrotate.conf</​note>​+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. 
 +=====Configuration=====
  
 +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. 
  
-Application-specific ​log file information (to override the defaults) are kept at:+Quelques-uns des réglages importants à configurer sont : rotation-interval, ​log-file-size, rotation-count et compression.
  
-<​note>​/​etc/​logrotate.d/​</​note>​+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/​**.
  
 +Ne pas hésiter à consulter certains exemples afin de comprendre un peu mieux ce concept
  
-We will have a look at a few examples to understand the concept better. +====Exemple ====
-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 {+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: 
 + 
 +<file>/​var/​log/​dpkg.log {
  monthly  monthly
  rotate 12  rotate 12
Ligne 51: Ligne 52:
  notifempty  notifempty
  create 644 root root  create 644 root root
-}</note> +}</file>
- +
- +
-What this means is that: +
- +
-    the logrotation for dpkg monitors the /​var/​log/​dpkg.log ​file and does this on a monthly basis - this is the rotation interval.+
  
-    '​rotate 12' signifies that 12 days worth of logs would be kept. 
  
-    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.+Que l'on peut traduire comme suit :
  
-    ​'missingok' ​avoids halting ​on any error and carries on with the next log file.+  * 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.
  
-    ​'notifempty' ​avoid log rotation if the logfile is empty.+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* !)
  
-    '​create <​mode>​ <​owner>​ <​group>'​ creates a new empty file with the specified properties after log-rotation.+Par exemple, pour limiter ce poids à 100MB, on ajouterait :
  
-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.+<​file>​size 100M</​file>​
  
-configuration ​setting of around 100MB would look like:+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>size 100M</note>+<file>monthly 
 +size 100M</file>
  
 +alors, la 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 ====
  
-Note that If both size and rotation ​interval are setthen size is taken as a higher priorityThat isif a configuration file has the following settings:+Vous pouvez aussi gérer la rotation ​des logs avec une tâche cronpour éviter la configuration à la main et traiter ça de manière automatiqueEn créant une entrée dans /​etc/​cron.daily/​logrotatela rotation des logs sera alors effectuée tous les jours.
  
-<​note>​monthly 
-size 100M</​note>​ 
  
-then the logs are rotated once the file size reaches 100M and this need not wait for the monthly cycle. +==== Statut et Vérification ====
-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> ​+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.
  
 +<​code>​cat /​var/​lib/​logrotate/​status</​code>​
 +ou
 +<​code>​cat /​var/​lib/​logrotate/​logrotate.status</​code> ​
  
-A few entries from this file, for example: 
  
-"/​var/​log/​lpr.log"​ 2013-4-11 +Quelques entrées de ce fichier, pour exemple:
-"/​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+
  
 +''"/​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
 +''​
  
-===== 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 117: 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 128: 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 135: 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.1380466972.txt.gz
  • Dernière modification: Le 29/09/2013, 17:02
  • par 41.142.131.98