Ich habe ein paar Tage damit verbracht, ein Python-Skript zu schreiben und eine systemd-Unit-Datei dafür zu erstellen. Während des Tests protokollierte das Skript viele Fehler im Journal. Ich möchte diese Fehler jetzt, da ich fertig bin, aus dem Journal löschen.
Es gibt verschiedene Möglichkeiten, das gesamte Journal zu löschen, wie hier beschrieben: So löschen Sie journalctl,
einschließlich der Verwendung journalctl --vacuum-time=2d
, Verwendung journalctl --vacuum-size=500M
und vorübergehenden Einstellung SystemMaxUse=
in /etc/systemd/journald.conf auf einen sehr niedrigen Wert.
All dies scheint das gesamte Journal zu löschen, was sich auf alle Einheiten auswirkt. Ich muss nur die Einträge für eine einzelne Einheit löschen. Ist das möglich?
Antworten:
Verwenden Sie mein Python 3-Programm copy_journal.py für die Journaldateien,
/var/log/journal
aus denen Sie Einträge entfernen möchten.Zum Beispiel, um eine Kopie
system.journal
ohne Protokolleinträge zu erstellen fürNetworkManager.service
:quelle
Ich glaube nicht, dass es möglich ist, denn laut journalctl-Manpage "wird die Ausgabe von allen zugänglichen Journaldateien verschachtelt, unabhängig davon, ob sie gedreht oder gerade geschrieben werden".
Sie können es jedoch nach einer Einheit filtern - 'journalctl -u some.service' und dann versuchen, die Protokolleinträge mit Ihrem eigenen Skript mit cron aus dem Journal zu entfernen.
quelle