no way to compare when less than two revisions

Différences

Ci-dessous, les différences entre deux révisions de la page.


Révision précédente
divers:logrotate [2014/05/27 03:32] (Version actuelle) – modification externe 127.0.0.1
Ligne 1: Ligne 1:
 +<style float-right>{{tag>logs, logrotate, automatisation}}</style>
 +<style float-left>{{:icones:filequickprint.png?nolink&70}}</style>
 +====== Rotation des logs ======
 +//[[:|Retour à la liste des tutoriels]]//
 +~~CLEARFLOAT~~
 +<note tip>La rotation des logs //(journaux d'événements)// permet de limiter la taille de ces fichiers et également de notifier le webmaster de certains événements.</note>
 +<note>**Prérequis**
 +  * FIXME Avoir installé nano.
 +</note>
 +\\
 +===== Installation de logrotate =====
 +<code bash>apt-get install logrotate</code>
  
 +
 +===== Configuration de logrotate =====
 +Je souhaite effectuer deux actions principales :
 +  * pour les journaux d'accès aux sites web : les conserver durant 1 année 
 +Ceci répondant à une obligation légale européenne transcrite dans le droit français par le [[http://www.legifrance.gouv.fr/affichTexte.do;jsessionid=C2B3778733620B8000EA273978BBA3AE.tpdjo13v_2?cidTexte=JORFTEXT000000637071&dateTexte=20120802|décret n° 2006-358 du 24 mars 2006 relatif à la conservation des données des communications électroniques]]
 +  * recevoir toutes les semaines par courriel les journaux d'erreur de mes sites web
 +<note>Si la fréquence d'envoi de mails est trop élevée, le webmaster finit rapidement par ne plus lire ce genre de mails !</note>
 +
 +===== Edition de la configuration de logrotate =====
 +<code bash>nano /etc/logrotate.d/apache2</code>
 +
 +
 +==== Configuration par défaut ====
 +Décryptons le fichier originel :
 +<code>/var/log/apache2/*.log {</code>
 +Les fichiers de log qui doivent être traités.
 +<code>weekly</code>
 +La fréquence de traitement (daily, weekly, monthly, yearly).
 +<code>missingok</code>
 +Il se peut que le journal d'événement n'existe pas.
 +<code>rotate 52</code>
 +Le nombre de fichiers conservés (le nombre de rotations effectuées avant de supprimer un journal).
 +<note tip>La durée de conservation d'un log est égale à la fréquence de traitement * le nombre d’occurrences conservées !</note>
 +<code>compress</code>
 +Les anciens journaux seront conservés de manière compressée //(gain d'espace disque !)//.
 +<code>delaycompress</code>
 +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)//.
 +<code>notifempty</code>
 +Aucune action n'est effectuée si le journal est vide.
 +<code>create 640 root adm
 +sharedscripts</code>
 +Ces options définissent les droits avec lesquels les journaux sont créés.
 +<code>postrotate
 + /etc/init.d/apache2 reload > /dev/null
 +endscript
 +}</code>
 +L'action effectuée après la rotation des journaux d'événements.
 +Dans notre cas : recharger le configuration d'Apache.
 +
 +
 +==== Journal d'accès ====
 +Voici la configuration que je choisis :
 +<file logrotate>
 +# 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
 +}</file>
 +
 +==== Journal d'erreur ====
 +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 :
 +<code>mail webm*ster@anael.eu</code>
 +Définit l'adresse mail destinatrice.
 +<code>mailfirst</code>
 +Envoi le premier journal existant (le journal actuel).
 +
 +Voici la seconde partie du fichier de configuration :
 +<file logrotate_error>
 +/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
 +}
 +</file>
 +
 +===== Ajouter d'autres sites web =====
 +<note tip>Si vous souhaitez effectuer la rotation des journaux d'événements pour plusieurs domaines séparés, il vous suffit d'ajouter le chemin vers le fichier de log sur la première ligne de chaque bloc d'instruction //(séparée par un espace)//!</note>
 +
 +===== Planification =====
 +Le processus de rotation des logs sera effectué de manière automatique.
 +
 +Toutefois, si vous souhaitez exécuter manuellement la rotation des logs :
 +<code bash>logrotate /etc/logrotate.d/apache2 -v</code>
 +
 +<note important>La première exécution de logrotate peut solliciter fortement votre serveur, en fonction de la quantité de données à traiter initialement !</note>
 +
 +\\
 +===== Liens =====
 +  * [[.:|Retour à la liste des tutoriels Divers]]
 +  * [[:|Retour à la liste des tutoriels]]