Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
logrotate [Le 16/09/2019, 15:42] 194.250.188.49 [Configuration] |
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 système}} | + | {{tag>Xenial Bionic Focal journal log système}} |
----- | ----- | ||
====== Logrotate ====== | ====== Logrotate ====== | ||
Ligne 15: | Ligne 15: | ||
* la **quantité de données lues et écrites sur le disque** : **usure du disque** | * la **quantité de données lues et écrites sur le disque** : **usure du disque** | ||
* la **consommation d'énergie** | * la **consommation d'énergie** | ||
+ | |||
+ | <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> | ||
+ | |||
===== Installation===== | ===== Installation===== | ||
Ligne 21: | Ligne 24: | ||
=====Utilisation===== | =====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> | ||
Ligne 31: | Ligne 34: | ||
- | Quelques-uns des réglages importants à configurer sont : 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. |
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 **/etc/logrotate.d/**. | ||
- | Ne pas hésiter à consulter certains exemples afin de comprendre un peu mieux ce conceptcc | + | Ne pas hésiter à consulter certains exemples afin de comprendre un peu mieux ce concept |
====Exemple ==== | ====Exemple ==== | ||
- | 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: | + | 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 { | <file>/var/log/dpkg.log { | ||
Ligne 54: | Ligne 57: | ||
Que l'on peut traduire comme suit : | Que l'on peut traduire comme suit : | ||
- | * 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".\\ | + | * 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.\\ | * '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.\\ | * 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.\\ | ||
Ligne 61: | Ligne 64: | ||
* 'create <mode> <owner> <group>' créé un fichier vide avec les propriétés spécifiées, après la rotation des logs. | * 'create <mode> <owner> <group>' créé un fichier vide avec les propriétés spécifiées, après la rotation des logs. | ||
- | 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 *juste incontournable* !) | + | 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* !) |
- | Par exemple, pour limiter ce poids à 100MB, on ajouterait: | + | Par exemple, pour limiter ce poids à 100MB, on ajouterait : |
<file>size 100M</file> | <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: | + | 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 : |
<file>monthly | <file>monthly | ||
Ligne 75: | Ligne 78: | ||
====Tâche Cron ==== | ====Tâche Cron ==== | ||
- | 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. | + | 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. |
==== Statut et Vérification ==== | ==== Statut et Vérification ==== | ||
- | 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 . | + | 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. | 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> | + | <code>cat /var/lib/logrotate/status</code> |
+ | ou | ||
+ | <code>cat /var/lib/logrotate/logrotate.status</code> | ||
Quelques entrées de ce fichier, pour exemple: | Quelques entrées de ce fichier, pour exemple: | ||
- | "/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 96: | Ligne 101: | ||
"/var/log/apport.log" 2013-4-11\\ | "/var/log/apport.log" 2013-4-11\\ | ||
don't forget to check your host before editing anything | don't forget to check your host before editing anything | ||
+ | '' | ||
==== La rotation ==== | ==== La rotation ==== | ||
Ligne 126: | 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 133: | 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> |