GNU/Linux >> Tutoriels Linux >  >> Linux

Supprimer tout /var/log ?

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

Linux
  1. Comment restaurer la propriété par défaut du groupe/utilisateur de tous les fichiers sous /var ?

  2. Différence entre /var/log/messages, /var/log/syslog et /var/log/kern.log ?

  3. Comment supprimer tous les fichiers error_log sur un serveur cPanel

  4. 20 fichiers journaux Linux situés dans le répertoire /var/log

  5. Comment compresser tous les fichiers ou des fichiers spécifiques sous Linux

Différences dans les fichiers journaux /var/log/{syslog,dmesg,messages}

unix:///var/run/supervisor.sock aucun fichier de ce type

Supprimer tous les fichiers aléatoires sauf 1000 dans un répertoire

Pourquoi les répertoires /home, /usr, /var, etc. ont-ils tous le même numéro d'inode (2) ?

Les sites Web doivent-ils vivre dans /var/ ou /usr/ selon l'utilisation recommandée ?

Les journaux système sont vides (/var/log/messages ; /var/log/secure ; etc.)