introduction
Logrotate est un utilitaire Linux qui simplifie l'administration des fichiers journaux. Il s'exécute généralement une fois par jour via une tâche cron et gère les journaux en fonction de règles / paramètres personnalisés à partir de son fichier de configuration.
Certains de ses paramètres utiles incluent la rotation automatique, la compression, la suppression et l'envoi de fichiers journaux.
Installation
La plupart des systèmes Linux sont livrés avec Logrotate installé par défaut. Vérifiez si vous l'avez installé sur votre instance Vultr en émettant la logrotate
commande. Vous verrez une sortie avec la version de Logrotate que votre serveur exécute.
Si vous ne l'avez pas installé, effectuez les étapes ci-dessous pour poursuivre l'installation.
Sur les systèmes Debian / Ubuntu:
sudo apt-get update
sudo apt-get install logrotate
Sur les systèmes Redhat / CentOS:
sudo yum update
sudo yum install logrotate
Comprendre Logrotate
Les pièces mobiles qui font tourner logrotate sont:
-
L'outil réel logrotate
.
-
Fichier de configuration de Logrotate situé à /etc/logrotate.conf
. Ce fichier contient la configuration de tous les fichiers journaux gérés par Logrotate.
-
Un travail cron quotidien /etc/cron.daily/logrotate
qui émet la commande logrotate à exécuter en fonction des paramètres de son fichier de configuration. Si ce travail cron n'existe pas sur votre système, créez-le et ajoutez-y l'extrait de code ci-dessous.
#!/bin/sh
/usr/sbin/logrotate /etc/logrotate.conf
Plus sur la configuration
Si vous jetez un coup d'œil à l'intérieur /etc/logrotate.conf
, vous verrez qu'il y a la ligne include /etc/logrotate.d
dedans. Cette ligne indique à Logrotate de regarder à l'intérieur du /etc/logrotate.d
répertoire et d'exécuter chaque fichier de configuration qu'il contient . Ce répertoire est généralement l'endroit où les applications installées sur votre système Linux ajouteront leurs configurations logrotate. Par exemple, Apache2 créera généralement un /etc/logrotate.d/apache
fichier de configuration lors de l'installation.
Gérer les journaux
Pour tester Logrotate, nous allons:
-
Créez un nouveau fichier journal de test avec 1 Mo ou des données aléatoires:
sudo base64 /dev/urandom | head -c 1000000 > /tmp/testfile.log
-
Créez une nouvelle configuration Logrotate en exécutant sudo nano /etc/logrotate.d/testlog
. Copiez l'extrait suivant dans un fichier vide et appuyez sur Ctrl + X pour enregistrer et quitter.
/tmp/testfile.log {
size 1k
copytruncate
missingok
rotate 5
}
Les options de configuration de l'extrait ci-dessus indiquent à Logrotate:
size 1k
: Faire pivoter le fichier journal si la taille est supérieure ou égale à 1 Ko.
missingok
: Ignore les messages d'erreur s'il testfile.log
n'existe pas.
copytruncate
: Créez une copie du fichier journal actuel, puis tronquez-le. Cela est pratique lorsqu'une application ne peut pas fermer son fichier journal car elle y est ajoutée en permanence.
rotate 5
: limiter le nombre de rotations des fichiers journaux à 5. Cela supprimera les anciennes versions des fichiers journaux supérieures à 5 jours.
REMARQUE: Vous pouvez voir toutes les options de configuration pour logrotate ici .
-
Exécutez la commande Logrotate manuellement:
sudo logrotate /etc/logrotate.conf
Après avoir exécuté la commande ci-dessus, répertoriez tous les fichiers du répertoire tmp ls -l /tmp
pour confirmer que testfile.log a bien été tourné. Vous devriez voir une liste similaire à la suivante qui montre que la testfile.log
rotation a effectivement été effectuée. Cela continuera chaque jour et gardera les 5 derniers exemplaires.
[root@vultr ~]# ls -l /tmp
-rw-r--r-- 1 root root 0 Nov 14 23:31 testfile.log
-rw-r--r-- 1 root root 1000000 Nov 14 23:30 testfile.log-20141114
-rw-r--r-- 1 root root 634 Nov 10 00:23 vultr_ipv6
-rw-------. 1 root root 0 Oct 15 20:44 yum.log
Conclusion
Les journaux peuvent rapidement créer des problèmes sur un serveur en devenant trop volumineux et en provoquant des problèmes d'espace disque. La gestion des journaux est cruciale pour tout système, mais encore mieux automatise cette gestion. Logrotate facilite la rotation, l'archivage et la suppression des journaux.
Écrit par Lami Adabonyan