Solution 1 :
Au lieu de supprimer les fichiers, vous devez les faire pivoter, par ex. g. en utilisant logrotate
.
Vous ne savez jamais quand vous aurez réellement besoin des journaux d'il y a un certain temps, il est donc préférable de les archiver (jusqu'à un âge raisonnable, par exemple 3 mois).
logrotate
peut compresser vos anciens fichiers journaux afin qu'ils n'occupent pas beaucoup d'espace disque.
Solution 2 :
Supprimer tous les fichiers :
find /var/log -type f -delete
Supprimer tous les fichiers .gz et pivotés
find /var/log -type f -regex ".*\.gz$"
find /var/log -type f -regex ".*\.[0-9]$"
Essayez d'exécuter la commande sans "-delete", pour la tester.
Solution 3 :
Si vous supprimez tout dans /var/log, vous vous retrouverez probablement avec des tonnes de messages d'erreur en très peu de temps, car il y a des dossiers qui devraient exister (par exemple exim4, apache2, apt, cups, mysql, samba et plus). De plus :certains services ou applications ne créeront pas leurs fichiers journaux, s'ils n'existent pas. Ils s'attendent à ce qu'au moins un fichier vide soit présent. La réponse directe à votre question est donc "Ne faites pas ça !!!" .
Comme Joschi l'a souligné, il n'y a aucune raison de le faire. J'ai des serveurs Debian en cours d'exécution qui n'ont pas eu un seul fichier journal supprimé depuis des années.
Solution 4 :
Je clone des machines virtuelles à partir d'un maître. Il est parfaitement logique d'effacer le journal sur le maître afin que lorsque vous démarrez les clones, vous n'obteniez pas le journal du maître. Je l'ai fait dans tcsh :
cd /var/log
foreach ii ( `find . -type f` )
foreach? cp /dev/null $ii
foreach? end
qui efface les journaux mais conserve les fichiers.
Solution 5 :
Nettoyer tous les journaux sur un système Linux sans les supprimer les fichiers :
for CLEAN in $(find /var/log/ -type f)
do
cp /dev/null $CLEAN
done
Samba (/var/www/samba
) crée des noms de fichiers journaux avec des adresses IP, vous pouvez les supprimer :
for CLEAN in $(find /var/log/samba -type f)
do
rm -rf $CLEAN
done