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

So löschen Sie Systemd-Journalprotokolle

Dieses kurze Tutorial zeigt Ihnen zwei Möglichkeiten, systemd-Journalprotokolle von Ihrem Linux-System zu löschen.

Das systemd-Journal ist das systemd-eigene Protokollierungssystem. Es entspricht dem Syslog im Init-System. Es sammelt und speichert Kernel-Protokolldaten, Systemprotokollmeldungen, Standardausgaben und Fehler für verschiedene systemd-Dienste.

Ein Linux-Computer mit systemd schreibt die Protokolle in das Verzeichnis /var/log/journal. Wenn Sie sich an die Linux-Verzeichnisstruktur erinnern, werden in /var die Systemprotokolle gespeichert.

Sie können die Protokolldateien entweder manuell mit dem Befehl less anzeigen oder den Befehl journalctl verwenden. Um alle neuesten Protokolle anzuzeigen, verwenden Sie den Befehl mit der Umkehroption.

journalctl -r

Die Sache mit der Protokollierung ist, dass sie mit der Zeit groß wird. Und wenn Sie den Speicherplatz in Linux überprüfen, werden Sie feststellen, dass manchmal mehrere GB Speicherplatz benötigt werden.

Lassen Sie mich Ihnen zeigen, wie Sie systemd-Journalprotokolle bereinigen und Speicherplatz auf Ihrem Linux-System freigeben.

Systemd-Journalprotokolle löschen

Überprüfen Sie zuerst den von Journalprotokollen belegten Speicherplatz mit dem Befehl du:

du -sh /var/log/journal/

Sie können für dieselbe Aufgabe auch den Befehl journalctl verwenden:

journalctl --disk-usage

Beide Befehle sollten ungefähr das gleiche Ergebnis liefern:

[email protected]:~$ journalctl --disk-usage
Archived and active journals take up 1.6G in the file system.

[email protected]:~$ sudo du -sh /var/log/journal/
1.7G	/var/log/journal/

Da Sie nun wissen, wie viel Speicherplatz die Journalprotokolle einnehmen, können Sie entscheiden, ob Sie die Protokolle löschen möchten oder nicht. Wenn Sie sich entscheiden, die Journalprotokolle zu löschen, lassen Sie mich Ihnen einige Möglichkeiten zeigen, wie Sie dies tun können.

Sie können natürlich den Befehl rm verwenden, um die Dateien im Protokollordner zu löschen, aber ich werde das nicht empfehlen. Der Befehl journalctl zeigt Ihnen, wie Sie mit alten Protokollen richtig umgehen.

Als erstes sollten Sie die Journaldateien rotieren. Dadurch werden die derzeit aktiven Journalprotokolle als Archiv markiert und neue Protokolle erstellt. Dies ist optional, aber eine bewährte Vorgehensweise.

sudo journalctl --rotate

Jetzt haben Sie drei Möglichkeiten, alte Journalprotokolle zu löschen. Sie löschen Protokolle, die älter als eine bestimmte Zeit sind, oder Sie löschen ältere Protokolldateien, sodass die Gesamtprotokollgröße auf den vordefinierten Speicherplatz beschränkt ist, oder Sie begrenzen die Anzahl der Protokolldateien. Sehen wir uns an, wie alle drei Methoden verwendet werden.

1. Journalprotokoll löschen, das älter als x Tage ist

Denken Sie daran, dass Protokolle für Überwachungszwecke wichtig sind, daher sollten Sie sie nicht alle gleichzeitig löschen. Angenommen, Sie möchten den Protokollverlauf von nur zwei Tagen aufbewahren. Um alle Einträge zu löschen, die älter als zwei Tage sind, verwenden Sie diesen Befehl:

sudo journalctl --vacuum-time=2d

So könnte die Ausgabe aussehen:

Vacuuming done, freed 1.6G of archived journals from /var/log/journal/1b9ab93094fa4978beba80fd3c48a18c

Sie können den angegebenen Zeitrahmen auch in Stunden wie 2 Stunden, in Minuten wie 2 Minuten oder in Sekunden wie 2 Sekunden ändern. Wenn Sie größere Zeiteinheiten wünschen, können Sie auch 2 Wochen, 2 Monate.

2. Protokolle auf eine bestimmte Größe beschränken

Eine andere Möglichkeit besteht darin, die Protokollgröße zu beschränken. Dadurch werden die Journalprotokolldateien gelöscht, bis der von den Journalprotokollen belegte Speicherplatz unter die von Ihnen angegebene Größe fällt.

sudo journalctl --vacuum-size=100M

Dadurch wird die Protokollgröße auf etwa 100 MB reduziert.

Vacuuming done, freed 40.0M of archived journals from /var/log/journal/1b9ab93094fa4978beba80fd3c48a18c.

Sie können die Größe in GB mit G, MB mit M, KB mit K usw. angeben

3. Anzahl der Protokolldateien einschränken

Die dritte Möglichkeit besteht darin, die Anzahl der Protokolldateien zu begrenzen. Das Journalctl enthält normalerweise Protokolldateien für das System und für die Benutzer. Wenn die Protokolle alt werden, werden sie in verschiedenen Dateien archiviert.

Sie können die Anzahl der Archivprotokolldateien begrenzen. Angenommen, Sie möchten nur fünf Protokolldateien haben.

journalctl --vacuum-files=5

Es entfernt die älteren Archivprotokolldateien und hinterlässt nur die angegebene Anzahl von Protokolldateien.

Deleted archived journal /var/log/journal/1b9ab93094fa4978beba80fd3c48a18c/[email protected] (8.0M).
Deleted archived journal /var/log/journal/1b9ab93094fa4978beba80fd3c48a18c/[email protected] (48.0M).
Deleted archived journal /var/log/journal/1b9ab93094fa4978beba80fd3c48a18c/[email protected] (48.0M).
Vacuuming done, freed 104.0M of archived journals from /var/log/journal/1b9ab93094fa4978beba80fd3c48a18c.

Automatisches Löschen alter Protokolldateien [Erfordert fortgeschrittene Kenntnisse der Befehlszeile]

Was Sie gerade getan haben, wird die Protokolldateien vorerst bereinigen. In einem Monat werden die Protokolle wieder zunehmen. Sie können sie mit einer der oben beschriebenen Methoden manuell reinigen. Aber das ist eine mühsame Aufgabe und Sie denken vielleicht nicht daran, dies regelmäßig zu tun.

Das Gute daran ist, dass Sie systemd so konfigurieren können, dass es automatisch mit alten Protokolldateien umgeht.

Das Journalctl hat eine Konfigurationsdatei unter /etc/systemd/journald.conf. Es gibt Einstellungen, die auskommentiert sind. Die auskommentierten Zeilen geben grundsätzlich den Standardwert dieser Einstellungsparameter an (auch wenn sie auskommentiert sind).

Sie können einige dieser Standardeinstellungen ändern, um die Protokolldateien automatisch zu bereinigen.

Sie möchten die folgenden Einstellungen ändern:

Einstellung Beschreibung
SystemMaxUse Maximal zulässiger Speicherplatz für Protokolle
SystemMaxFileSize Maximale Größe einer INDIVIDUELLEN Protokolldatei
SystemMaxFiles Maximale Anzahl von Protokolldateien

Achtung!

Bitte beachten Sie, dass Sie beim Bearbeiten von Konfigurationsdateien vorsichtig sein sollten. Sie müssen mit der Verwendung eines terminalbasierten Texteditors wie Vim, Emacs oder Nano vertraut sein, damit Sie beim Bearbeiten der conf-Datei keine dummen Fehler machen.

Ich empfehle, zuerst eine Sicherungskopie der Konfigurationsdatei zu erstellen:

cp /etc/systemd/journald.conf /etc/systemd/journald.conf.back

Jetzt sollten Sie die Einstellung, die Sie verwenden möchten, auskommentieren (das # am Anfang der Zeile entfernen). Zum Beispiel möchte ich den maximalen Speicherplatz, der von den Protokolldateien belegt wird, auf 250 MB beschränken.

Sie müssen Vim oder einen anderen terminalbasierten Editor verwenden, um diese Konfigurationsdatei zu bearbeiten. So sieht es aus, nachdem ich die Datei bearbeitet habe.

#  This file is part of systemd.
#
#  systemd is free software; you can redistribute it and/or modify it
#  under the terms of the GNU Lesser General Public License as published by
#  the Free Software Foundation; either version 2.1 of the License, or
#  (at your option) any later version.
#
# Entries in this file show the compile time defaults.
# You can change settings by editing this file.
# Defaults can be restored by simply deleting this file.
#
# See journald.conf(5) for details.

[Journal]
#Storage=auto
#Compress=yes
#Seal=yes
#SplitMode=uid
#SyncIntervalSec=5m
#RateLimitIntervalSec=30s
#RateLimitBurst=1000
SystemMaxUse=250M
#SystemKeepFree=
#SystemMaxFileSize=
#SystemMaxFiles=100

Denken Sie daran, dass Sie nach dem Bearbeiten der Konfigurationsdatei die Änderungen laden sollten:

sudo systemctl restart systemd-journald

Die Datei journald.conf kann verwendet werden, um die journalctl-Einstellungen noch weiter zu optimieren. Sie können sogar die Protokollebenen (Info, Debug, Fehler usw.) festlegen, die Sie sehen möchten. Es liegt an Ihnen, ob Sie diese Einstellungen ebenfalls ändern möchten.

Ich hoffe, Ihnen gefällt dieser Tipp zum Löschen von systemd-Journalprotokolldateien. Wenn Sie Fragen oder Anregungen haben, hinterlassen Sie bitte unten einen Kommentar.


Linux
  1. Anfängerleitfaden für „journalctl“ – So verwenden Sie Journalctl zum Anzeigen und Bearbeiten von Systemd-Protokollen

  2. Wie lösche ich das Scrollback im Bildschirmbefehl?

  3. So leiten Sie die Ausgabe des systemd-Dienstes in eine Datei um

  4. Wie stoppen Sie den systemd-Dienst

  5. Wie deaktiviere ich die Kernel-Anmeldung im systemd-Journal?

So löschen oder leeren Sie den DNS-Cache in Linux

So löschen Sie den Auslagerungsspeicher unter Linux

So löschen Sie den DNS-Cache unter Ubuntu

So verwenden Sie journalctl zum Anzeigen und Bearbeiten von Systemd-Protokollen

Journalctl:So lesen und bearbeiten Sie Systemd-Protokolle

So entfernen Sie systemd-Dienste