GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Alle /var/log löschen?

Lösung 1:

Anstatt die Dateien zu löschen, sollten Sie sie drehen, z. g. mit logrotate .

Man weiß nie, wann man die Protokolle von vor einiger Zeit tatsächlich braucht, also ist es besser, sie zu archivieren (bis zu einem angemessenen Alter, z. B. 3 Monate).

logrotate kann Ihre alten Protokolldateien komprimieren, sodass sie nicht viel Speicherplatz belegen.

Lösung 2:

Alle Dateien löschen:

find /var/log -type f -delete

Alle .gz- und gedrehten Dateien löschen

find /var/log -type f -regex ".*\.gz$"
find /var/log -type f -regex ".*\.[0-9]$"

Versuchen Sie, den Befehl ohne "-delete" auszuführen, um ihn zu testen.

Lösung 3:

Wenn Sie alles in /var/log löschen, werden Sie höchstwahrscheinlich in sehr kurzer Zeit mit Tonnen von Fehlermeldungen enden, da dort Ordner vorhanden sind, von denen erwartet wird, dass sie existieren (z. B. exim4, apache2, apt, cups, mysql, samba und mehr). Plus:Es gibt einige Dienste oder Anwendungen, die ihre Protokolldateien nicht erstellen, wenn sie nicht vorhanden sind. Sie erwarten, dass mindestens eine leere Datei vorhanden ist. Die direkte Antwort auf Ihre Frage lautet also eigentlich "Tu das nicht!!!" .

Wie Joschi betont hat, gibt es dazu keinen Grund. Ich habe Debian-Server, auf denen seit Jahren keine einzige Protokolldatei gelöscht wurde.

Lösung 4:

Ich klone virtuelle Maschinen von einem Master. Es macht absolut Sinn, das Log auf dem Master zu löschen, damit Sie beim Booten der Clones nicht das Log des Masters bekommen. Ich habe in tcsh:

cd /var/log
foreach ii ( `find . -type f` )
foreach? cp /dev/null $ii
foreach? end

die die Protokolle löscht, aber die Dateien behält.

Lösung 5:

Bereinigen aller Protokolle auf einem Linux-System ohne zu löschen die Dateien:

for CLEAN in $(find /var/log/ -type f)
do
    cp /dev/null  $CLEAN
done

Samba (/var/www/samba ) Protokolldateinamen mit IP-Adressen erstellt, möchten Sie diese möglicherweise löschen:

for CLEAN in $(find /var/log/samba -type f)
do
    rm -rf $CLEAN
done

Linux
  1. Wie stellt man den Besitz der Standardgruppe/des Benutzers aller Dateien unter /var wieder her?

  2. 20 Linux-Protokolldateien, die sich im Verzeichnis /var/log befinden

  3. Wann sollte ich /dev/shm/ verwenden und wann sollte ich /tmp/?

  4. Unterschiede in /var/log/{syslog,dmesg,messages} Protokolldateien

  5. Sollten Websites gemäß der empfohlenen Verwendung in /var/ oder /usr/ leben?

Löschen Sie übereinstimmende Dateien in allen Unterverzeichnissen

unix:///var/run/supervisor.sock keine solche Datei

Löschen Sie alle bis auf 1000 zufällige Dateien in einem Verzeichnis

Warum haben die Verzeichnisse /home, /usr, /var usw. alle dieselbe Inode-Nummer (2)?

Dateien mit logrotate löschen

Systemprotokolle sind leer (/var/log/messages; /var/log/secure; etc)