So löschen Sie Journalctl

So löschen Sie Journalctl

Ich konnte bei Google keine sichere Methode zum Löschen des Systemd-Journals finden. Kennt jemand eine sichere und zuverlässige Methode dafür?

Nehmen wir an, ich habe mit etwas experimentiert und meine Protokolle sind mit verschiedenen Fehlermeldungen vollgestopft. Außerdem zeige ich mein Tagebuch mithilfe von Conky auf meinem Desktop an. Ich möchte diese Fehler wirklich nicht sehen, da sie mich an einen schrecklichen Tag erinnern, an dem ich dieses Zeug repariert habe. Ich möchte mich nach diesem Horror wie ein frischer Mensch fühlen. Ich denke, jeder wird zustimmen, dass dies ein gültiger Grund ist, die Protokolle zu löschen :P.

Antwort1

Die Methode zur Selbstwartung besteht darin, die Stämme je nach Größe oder Zeit abzusaugen.

Behalten Sie nur die letzten zwei Tage:

journalctl --vacuum-time=2d

Behalten Sie nur die letzten 500 MB:

journalctl --vacuum-size=500M

man journalctlfür mehr Informationen.

Antwort2

Normalerweise löschen Sie das Journal nicht selbst. Das wird von systemd selbst verwaltet und alte Protokolle werden gelöscht, wenn neue Daten eingehen. Das Richtige wäre, journald so zu programmieren, dass nur so viele Daten gespeichert werden, wie Sie möchten. Am häufigsten wird der gesamte Speicherplatz angepasst, den es belegen darf. Sobald es diese Grenze überschreitet, beginnt es, alte Einträge zu verschieben, um in der Nähe dieses Werts zu bleiben.

Sie können dies einstellen in/etc/systemd/journald.confetwa so:

SystemMaxUse=100M

Dies wird beim nächsten Neustart oder Neustart des Journald-Dienstes erzwungen:

$ systemctl restart systemd-journald

Antwort3

Michaels Antwortfehlt eine Sache: Beim Staubsaugen werden nur archivierte Journaldateien entfernt, keine aktiven. Um alles loszuwerden, müssen Sie die Dateien zuerst rotieren, sodass aktuelle Einträge in inaktive Dateien verschoben werden.

Die vollständige Antwort zum EntfernenalleEinträge scheinen

sudo journalctl --rotate
sudo journalctl --vacuum-time=1s

(Beachten Sie, dass Sie dies nicht in einem journalctlBefehl kombinieren können.)

Übrigens haben einige Distributionen journald so konfiguriert, dass es Protokolle auf die Festplatte schreibt ( /var/log/journal), während andere Protokolle im Speicher behalten ( /run/log/journal). Ich gehe davon aus, dass es in einigen Fällen notwendig sein kann, sudo journalctl --flushzuerst zu verwenden, um alles zu entfernen.

Wenn Ihre Version dies nicht umfasst , können Sie das folgende Argument zum Filtern der Einträge --rotateverwenden :--since

--since "2019-01-30 14:00:00"
--since today

Antwort4

Da --vacuum-timeund --vacuum-sizenichts für mich getan haben, habe ich Folgendes getan:

$ sudo find /var/log/journal -name "*.journal" | xargs sudo rm 
$ sudo systemctl restart systemd-journald

Es ist nicht richtig, aber es hat funktioniert.

verwandte Informationen