Retour à la liste des tutoriels
apt-get install logrotate
Je souhaite effectuer deux actions principales :
Ceci répondant à une obligation légale européenne transcrite dans le droit français par le décret n° 2006-358 du 24 mars 2006 relatif à la conservation des données des communications électroniques
nano /etc/logrotate.d/apache2
Décryptons le fichier originel :
/var/log/apache2/*.log {
Les fichiers de log qui doivent être traités.
weekly
La fréquence de traitement (daily, weekly, monthly, yearly).
missingok
Il se peut que le journal d'événement n'existe pas.
rotate 52
Le nombre de fichiers conservés (le nombre de rotations effectuées avant de supprimer un journal).
compress
Les anciens journaux seront conservés de manière compressée (gain d'espace disque !).
delaycompress
Les anciens journaux ne seront compressés qu'à la fin de la rotation des logs (évite des problèmes d'accès concurrents si un autre processus souhaite accéder au journal durant sa rotation).
notifempty
Aucune action n'est effectuée si le journal est vide.
create 640 root adm sharedscripts
Ces options définissent les droits avec lesquels les journaux sont créés.
postrotate /etc/init.d/apache2 reload > /dev/null endscript }
L'action effectuée après la rotation des journaux d'événements. Dans notre cas : recharger le configuration d'Apache.
Voici la configuration que je choisis :
# Les journaux d'accès au site web /var/log/apache2/*.log /var/www/anael.eu/logs/access.log { weekly missingok rotate 52 compress delaycompress notifempty create 640 root adm sharedscripts postrotate /etc/init.d/apache2 reload > /dev/null endscript }
Je rajoute également dans le même fichier une seconde partie pour recevoir par courriel les journaux d'erreur des sites web !
Je vais utiliser les instructions :
mail webm*ster@anael.eu
Définit l'adresse mail destinatrice.
mailfirst
Envoi le premier journal existant (le journal actuel).
Voici la seconde partie du fichier de configuration :
/var/www/anael.eu/logs/error.log { weekly missingok rotate 52 compress delaycompress mail webm*ster@anael.eu mailfirst postrotate /etc/init.d/apache2 reload > /dev/null endscript }
Le processus de rotation des logs sera effectué de manière automatique.
Toutefois, si vous souhaitez exécuter manuellement la rotation des logs :
logrotate /etc/logrotate.d/apache2 -v