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