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

2 thoughts on “Nettoyer vos anciens logs et faire de la place sur vos serveurs”

  1. Hugues F4FXO.

    Bonjour à tous, comment analyser cette commande ?

    Cordialités, Hugues FE2211 F4FXO.

Laisser un commentaire

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