logrotate
est un outil standard sous Linux pour gérer la rotation et la compression des fichiers de logs. Automatiser cette tâche permet de maintenir vos systèmes propres et performants.
Prérequis
- Serveur Linux (Debian, Ubuntu, RHEL, CentOS)
- Accès root ou sudo
1. Installation de logrotate
La plupart des distributions incluent déjà logrotate
. Vérifiez :
logrotate --version
Sinon, installez :
sudo apt update && sudo apt install logrotate -y
2. Configuration globale
Le fichier principal est /etc/logrotate.conf
:
# Rotation quotidienne
daily
# Conserver 7 jours
rotate 7
# Compresser avec gzip
compress
# Mail en cas d'échec
mail admin@example.com
# Inclure configurations supplémentaires
include /etc/logrotate.d
3. Configuration d'un service spécifique
Créez /etc/logrotate.d/myapp
:
/var/log/myapp/*.log {
daily
rotate 14
compress
delaycompress
missingok
notifempty
create 0640 myuser mygroup
postrotate
systemctl reload myapp.service > /dev/null 2>&1 || true
endscript
}
delaycompress
: compresse au cycle suivantnotifempty
: ne pas tourner les logs videspostrotate
: commande après rotation
4. Test de la configuration
sudo logrotate --debug /etc/logrotate.conf
5. Automatisation avec cron
Le cron logrotate
est généralement déjà configuré dans /etc/cron.daily
. Pour personnaliser :
sudo ln -s /etc/cron.daily/logrotate /etc/cron.hourly/logrotate
6. Bonnes pratiques
- Surveillez les erreurs de rotation via syslog ou mails.
- Adaptez
rotate
,daily/weekly
selon la taille des logs. - Protégez les permissions des configurations et des logs.
Conclusion
Grâce à logrotate
, vous pouvez automatiser efficacement la gestion des fichiers de logs, assurant propreté et performance de votre infrastructure Linux.