
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 journalctl
fü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.conf
etwa 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 journalctl
Befehl 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 --flush
zuerst zu verwenden, um alles zu entfernen.
Wenn Ihre Version dies nicht umfasst , können Sie das folgende Argument zum Filtern der Einträge --rotate
verwenden :--since
--since "2019-01-30 14:00:00"
--since today
Antwort4
Da --vacuum-time
und --vacuum-size
nichts 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.