lestechmondes.com

Tutorial Logrotate

Utilisez logrotate comme un pro pour achiver vos fichiers log
jeudi 14 avril 2022
Temps de lecture estimé: 5 minutes
Tutorial Logrotate

Beaucoup de programmes Unix génèrent des fichiers log contenant des informations relatives à leur exécution. Logrotate est un utilitaire Unix permettant de gérer ces fichiers, et en particulier de les archiver automatiquement, de les compresser ou de les envoyer par email.

Dans ce tutorial, nous allons détailler les multiples usages de logrotate, et, à travers quelques exemples, les options correspondantes.

Emplacement des fichiers

Logrotate est généralement situé dans le répertoire /usr/sbin/, on entrera donc /usr/sbin/logrotate pour le lancer.

Sur les systèmes Linux, Logrotate est exécuté chaque jour par cron. /etc/cron.daily/logrotate est le script lancé par cron, et /etc/logrotate.conf le fichier de configuration associé.
De même, les fichiers de configuration placés dans le répertoire /etc/logrotate.d seront exécutés.

Archivage des fichiers

Les fichiers log sont continuellement nourris d'informations par les programmes qui les ont créés, et occupent par conséquent toujours davantage d'espace disque. Logrotate permet d'assurer la rotation de ces fichiers, c'est-à-dire de renommer le fichier existant (quand par exemple il dépasse une certaine taille) afin qu'un nouveau fichier soit créé à sa place. L'ancien fichier peut alors être archivé et compressé, ou tout simplement supprimé.

Principales options

num
Nombre maximal d'archives
size
Archive le fichier lorsqu'il dépasse une certaine taille
daily | weekly | monthly
Une rotation de fichier est exécutée chaque jour | semaine | mois
notifempty
Le ficher est laissé tel quel s'il est vide
compress
L'archive créée sera compressée
missingok
Ne pas produire de message d'erreur si le fichier n'existe pas
create mode | user | group
Créer le nouveau fichier log avec ces attributs

Exemple

Fichier de configuration
 /var/log/fichier.log { weekly missingok notifempty create 0600 root root } 

Ce fichier de configuration, placé dans /etc/logrotate.d sera exécuté chaque jour. Logrotate procédera donc à l'archivage du fichier /var/log/fichier.log, chaque semaine (option: weekly).

Aucune action ne sera exécutée si le fichier est vide (option: notifempty) et aucun message d'erreur envoyé si le fichier est manquant (missingok).

Enfin, le nouveau fichier sera créé avec le mode 0600 et appartiendra à l'utilisateur root ainsi qu'au groupe root.

A lire aussi