Logrotate
Installation
Debian/Ubuntu
sh sudo apt-get install logrotate
Red Hat/CentOS
sudo yum install logrotate
Configuration
La configuration principale de logrotate se trouve dans le fichier /etc/logrotate.conf. Ce fichier inclut généralement d’autres fichiers de configuration situés dans le répertoire /etc/logrotate.d/.
Exemple de Configuration
Voici un exemple de configuration simple pour un fichier de log :
/var/log/myapp.log {
daily
rotate 7
compress
delaycompress
missingok
notifempty
create 0640 root adm
sharedscripts
postrotate
/usr/bin/systemctl reload myapp.service > /dev/null 2>/dev/null || true
endscript
}
Options de Configuration
- daily : Effectue la rotation quotidiennement.
- rotate 7 : Conserve 7 fichiers de logs rotatifs.
- compress : Compresse les fichiers de logs après la rotation.
- delaycompress : Retarde la compression jusqu’au prochain cycle de rotation.
- missingok : Ignore les erreurs si le fichier de log est manquant.
- notifempty : N’effectue pas la rotation si le fichier de log est vide.
- create 0640 root adm : Crée un nouveau fichier de log avec les permissions spécifiées.
- sharedscripts : Exécute les scripts
postrotateune seule fois pour tous les fichiers de logs. - postrotate : Commande à exécuter après la rotation.
Exécution
logrotate est généralement exécuté par une tâche cron. Vous pouvez vérifier la configuration cron dans /etc/cron.daily/logrotate.
Pour exécuter logrotate manuellement, vous pouvez utiliser la commande suivante :
sudo logrotate /etc/logrotate.conf
Pour forcer la rotation, vous pouvez utiliser l’option -f :
sudo logrotate -f /etc/logrotate.conf