Lösche alte Systemd journal logs

Lösche alte Systemd journal logs

Jedes Betriebssystem schreibt in irgendeiner Art und Weise Log Files -also Protokolldateien- und legt diese auf der Festplatte ab. Was auf normalen Desktop PC's meist nicht das Problem ist, könnte auf Servern über die Zeit unschön enden, denn diese laufen meist 24 Stunden am Tag und das 7 Tage die Woche. Somit können sich auf jedem Server die Protokolle allmählich summieren und eine beträchtliche Menge an Speicherplatz belegen. Neben vielen verschiedenen Programmen, welche Protokolldateien schreiben ist  Systemd prädestiniert dafür schnell den Speicher zu füllen. Das ist besonders ärgerlich, wenn man beispielsweise einen Server mit eh schon knappem Speicherplatz gemietet hat und diesen dann für größtenteils unnötige Protokolle hergeben muss.

Im Standard beschränkt sich der maximal genutzte Speicherbedarf des Journals auf etwa 4 Gigabyte. Diese Speicherbegrenzung kann jedoch nach Bedarf angepasst werden. 

Systemd speichert diese allerdings bequem im Ordner "/var/log/journal" und verfügt idealerweise über einen systemctl-Befehl, um sie sofort zu löschen oder per Konfiguration auf eine bestimmte Gesamtgröße zu beschränken.


Zeige genutzten Speicherplatz

sudo du -h /var/log/journal/


Lösche Logs älter als x Tage

Dieser Befehl löscht einmalig alle Protokolle, welcher älter sind als 60 Tage.

 sudo journalctl --vacuum-time=60d


Lösche Logs nach maximaler Speichergröße

Dieser Befehl löscht einmalig alle Protokolle (älteste zuerst), wenn mehr als 2 Gigabyte Speicher verbraucht wurden.

sudo journalctl --vacuum-size=2G


Dauerhafte Konfiguration

Während es sich bei den beiden oben genannten Befehlen nur um einmalige Befehle handelt, kann man schon bei dem Schreiben der Protokolldateien angeben, welche maximale Gesamtgröße alle Protokolldateien haben dürfen. Hierzu muss man die Konfiguration in der Datei "/etc/systemd/journald.conf" anpassen.

sudo nano /etc/systemd/journald.conf


Innerhalb dieser Datei findet sich eine Zeile, welche im Standard wie folgt aussieht:

#SystemMaxUse=


Diese Zeile ändern wir auf einen Wert, der uns vorschwebt. Dieser kann größer oder auch kleiner als 4 Gigabyte sein. In diesem Beispiel sind es 2 Gigabyte.

SystemMaxUse=2G


Anschließend speichern wir die Eingabe mittels "Strg + X" -> "Y" -> Enter

Um die Änderungen wirksam zu machen muss folgender Befehl folgen:

sudo systemctl restart systemd-journald.service







Marvin

Ich bin ein Mensch, der sich neben der Programmierung noch für tausend andere Dinge interessiert, die mal mehr und mal weniger verrückt sind. Vor allem aber bin ich Feuer und Flamme mit der Programmierung von eigenen kleinen Apps und Programmen, die mein Leben bereichern.

Hat dir dieser Artikel gefallen?

Kommentar hinzufügen

*Pflichtfeld