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:40]
loiseau2nuit Copier/coller une doc, c'est pas très smart, surtout quand on ne la traduit pas ;)
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]]**.
  
-==== Step 3 : Confirmation ​==== +=====Utilisation===== 
-To verify that logrotate was successfully installedrun this in the command prompt.+Pour vérifier que Logrotate a été installé correctementon 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.
 +=====Configuration=====
  
-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.+Les configurations et les options ​par défaut de l'​utilitaire Logrotate sont disponibles dans le fichier **/​etc/​logrotate.conf**.
  
-==== Step 4 : Configure Logrotate ==== 
  
-Configurations and default options for the logrotate utility are present in:+Quelques-uns des réglages importants à configurer sont rotation-interval,​ log-file-size,​ rotation-count et compression.
  
-<​code>​/​etc/​logrotate.conf</code>+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
  
-Some of the important configuration settings are : rotation-interval,​ log-file-size,​ rotation-count and compression.+====Exemple ====
  
-Application-specific log file information ​(to override the defaultsare kept at:+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>/​etc/​logrotate.d/</​code>​ +<​file>/​var/​log/​dpkg.log {
- +
- +
-We will have a look at a few examples to understand the concept better. +
- +
-==== 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: +
- +
-<code>/​var/​log/​dpkg.log {+
  monthly  monthly
  rotate 12  rotate 12
Ligne 62: 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 107: 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 127: 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 138: 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 145: 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.1427222454.txt.gz
  • Dernière modification: Le 24/03/2015, 19:40
  • par loiseau2nuit