Aperçu
logrotate gère périodiquement les fichiers journaux en se basant sur des fichiers de configuration. Les anciens journaux sont supprimés ou compressés selon la période de rétention pour économiser de l'espace disque, et de nouveaux fichiers journaux sont créés pour assurer le bon fonctionnement du système. Il est exécuté automatiquement chaque jour via une tâche cron sur la plupart des systèmes Linux.
Fonctionnalités principales
- Rotation et rétention automatiques des fichiers journaux
- Compression et suppression des anciens fichiers journaux
- Gestion efficace de l'espace disque
- Application flexible des règles basée sur des fichiers de configuration
- Inclus par défaut dans la plupart des distributions Linux
Options principales
logrotate fonctionne principalement via des fichiers de configuration, mais vous pouvez contrôler des actions spécifiques à l'aide d'options en ligne de commande.
Contrôle de l'exécution
Spécification de fichiers
Commande générée :
Essayez de combiner les commandes.
Description:
`logrotate` Exécute la commande.
Essayez d'exécuter virtuellement les commandes avec l'IA en combinant les options ci-dessus.
Exemples d'utilisation
logrotate est généralement exécuté automatiquement par cron, mais vous pouvez l'exécuter manuellement ou le tester avec des options spécifiques.
Exécuter logrotate avec le fichier de configuration par défaut
sudo logrotate /etc/logrotate.conf
Normalement exécuté par cron, mais voici la commande pour exécuter logrotate manuellement en utilisant le fichier de configuration par défaut.
Exécuter en mode débogage pour prévisualiser les changements
sudo logrotate -d /etc/logrotate.conf
Ne modifie pas réellement les fichiers journaux, mais simule et affiche les actions que logrotate effectuera. Indispensable pour tester de nouvelles configurations avant de les appliquer.
Forcer la rotation des fichiers journaux
sudo logrotate -f /etc/logrotate.conf
Ignore les conditions de rotation (par exemple, temps, taille) et fait pivoter les fichiers journaux immédiatement. Utilisé en cas d'urgence ou lorsque des journaux spécifiques doivent être traités immédiatement.
Exécuter avec le fichier de configuration d'une application spécifique
sudo logrotate -c /etc/logrotate.d/nginx
Exécute logrotate en utilisant uniquement le fichier de configuration d'une application spécifique dans le répertoire `/etc/logrotate.d/`.
Conseils et précautions
Conseils et points à considérer pour utiliser logrotate efficacement.
Emplacement des fichiers de configuration
Les fichiers de configuration de logrotate sont généralement situés à deux endroits.
- /etc/logrotate.conf: Fichier de configuration global, qui contient les valeurs par défaut et inclut d'autres fichiers de configuration applicables à tous les journaux.
- /etc/logrotate.d/: Répertoire contenant les fichiers définissant les règles de rotation des journaux pour des applications individuelles (par exemple, Nginx, Apache, MySQL).
Directives de configuration principales
Directives fréquemment utilisées dans les fichiers de configuration logrotate.
- rotate N : Conserve N fichiers journaux rotatifs.
- daily/weekly/monthly/yearly : Spécifie la fréquence de rotation des journaux.
- compress : Compresse les fichiers journaux rotatifs.
- delaycompress : Compresse le journal précédent lors de la rotation suivante.
- notifempty : Ne tourne pas le fichier journal s'il est vide.
- missingok : Ne génère pas d'erreur si le fichier journal est manquant.
- create [mode owner group] : Crée un nouveau fichier journal.
- postrotate/endscript : Définit le script à exécuter après la rotation du journal.
Tester les modifications de configuration
Avant d'appliquer de nouvelles configurations logrotate, vous devez impérativement les tester à l'aide de l'option `-d` (ou `--debug`). C'est la méthode la plus sûre pour vérifier la validité de la configuration sans affecter le système réel.
Intégration avec cron
logrotate est généralement exécuté automatiquement chaque jour via le script `/etc/cron.daily/logrotate`. Ce script lit le fichier `/etc/logrotate.conf` et traite toutes les tâches de rotation de journaux configurées.