Nettoyer vos anciens logs et faire de la place sur vos serveurs

Vous avez configuré vos serveurs et ils tournent comme des horloges depuis des mois. Bien entendu vous les monitorez grace à votre nagios favori. Et puis un beau jour, vous recevez des alertes vous indiquant que le taux de remplissage des disques durs a atteint un niveau critique.

Au fur et à mesure du temps qui passe, votre partition système s’est remplie avec de nombreux logs systèmes et applicatifs dont certains peuvent être très bavard. C’est notamment le cas des logs apache ou nginx pour les visites de vos serveurs web mais aussi des logs php_errors ou du fichier mysql-slow.log pour mysql.

Cette petite ligne de commande va vous faciliter la tâche en vous débarrassant de ces logs encombrants

Même si vos serveurs sont configurés pour effectuer une rotation des logs, quotidienne, hebdomadaire ou mensuelle, les anciens fichiers peuvent demeurer sur le serveur pendant des mois. Il peut donc être nécessaire de nettoyer ces anciens logs qui ont pour extension « .xx.gz » ou encore .1, .2, .3 …

Par l’intermédiaire de la commande suivante, vous allez effacer en une passe les logs possédant ces extensions dans le répertoire /var/log de votre serveur linux.

find /var/log/ \( -iregex ".*\.[0-9]+" -o -iname "*.gz" \) -exec rm {} \; 

Votre espace disque devrait donc revenir à un niveau correct assez rapidement.

Vous pouvez également programmer cette ligne dans votre crontab pour nettoyer automatiquement vos anciens logs à intervalle régulier

Une réponse a Nettoyer vos anciens logs et faire de la place sur vos serveurs

  1. Excellent, cela nettoie effectivement mes logs.
    Merci pour l’info.
    Marc

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.