Cette commande recherchera dans tous les répertoires /home/*/public_html (également dans les sous-répertoires) les fichiers error_log :
find /home/*/public_html -type f -name error_log -exec du -sh {} \;
Exemple d'utilisation :
root@web [~]# find /home/*/public_html -type f -name error_log -exec du -sh {} \;
4.0K /home/tolomike/public_html/error_log
4.0K /home/tolomike/public_html/wp-includes/ID3/error_log
9.0K /home/tolomike/public_html/wp-includes/theme-compat/error_log
4.0K /home/tolomike/public_html/wp-includes/SimplePie/error_log
4.0K /home/tolomike/public_html/wp-includes/SimplePie/Cache/error_log
root@web [~]#
Plusieurs fois, vous voudrez voir les fichiers erreur + journal qui utilisent le plus d'espace. Pour cela, triez les résultats. La commande est :
find /home/*/public_html -type f -name error_log -exec du -sh {} \; | sort -n
Avez-vous besoin de répertorier uniquement les fichiers error_log supérieurs à 50 Mo ? Utilisez cette commande :
find /home/*/public_html -type f -name error_log -size +50000k -exec du -sh {} \;
Notez qu'en fonction de votre nombre de fichiers et de comptes, ces commandes peuvent s'exécuter pendant une longue période.
Voyons maintenant comment nous supprimons ces fichiers.
Pour supprimer tous les fichiers error_log trouvés, utilisez :
find /home/*/public_html -type f -iname error_log -delete
Pour supprimer les fichiers error_log de plus de 50 Mo, utilisez :
find /home/*/public_html -type f -iname error_log -size +50000k -delete
Vous souhaitez ajouter une tâche cron qui supprimera les fichiers error_log ? Utilisez le crontab -e commande pour modifier les travaux du serveur.
crontab -e
Ajoutez ensuite la ligne (la tâche cron s'exécutera tous les jours à 02h30) :
30 2 * * * find /home/*/public_html -type f -name error_log -delete
Quittez l'éditeur crontab par CTRL+X. Confirmez les modifications.