Linux / Befehl journalctl: Systemd-Protokolle lesen

journalctl durchsucht und liest System- und Servicelogdateien, die im Systemd-Journal gespeichert sind. Sie können den Umfang auf kürzliche Fehler einer bestimmten Einheit oder Nachrichten vom aktuellen Start einschränken.

Wenn es ohne Argumente ausgeführt wird, zeigt es zugängliche Journaleinträge in chronologischer Reihenfolge an. -u filtert nach Serviceeinheit, -b nach Boot-Sitzung und -p nach Priorität. Normale Benutzer können nur einige Systemprotokolle je nach ihren Berechtigungen einsehen.

Grundlegende Syntax

journalctl [options] [filters]

Installierte Implementierungen und Optionen können je nach Distribution variieren. Überprüfen Sie die Beschreibung für Ihr aktuelles System mit man journalctl.

Beispiele

Fehler des aktuellen Starts anzeigen

Untersuchen Sie Nachrichten auf Fehlerniveau oder höher vom aktuellen Start.

journalctl -b -p err

Serviceprotokolle anzeigen

Ersetzen Sie den Servicenamen durch den tatsächlichen Einheitsnamen und lesen Sie die letzten 100 Zeilen.

journalctl -u sshd.service -n 100

Service-Protokolle verfolgen

Zeigt jedes Mal eine neue Protokollausgabe an. Drücken Sie Strg+C, um zu beenden.

journalctl -u sshd.service -f

Eine einzelne Service-Protokollzeile lesen

journalctl durchsucht im systemd-Journal gesammelte Protokolle basierend auf Bedingungen. Unten sind die drei neuesten Einträge eines bestimmten Dienstes ohne Seitennavigation angezeigt.

journalctl -u sshd.service -n 3 --no-pager

Beispielhafte Ausgabeformatierung (Zeit, Host, Nachricht variiert je nach System):

Sep 28 09:00:00 web01 sshd[1234]: Server listening on 0.0.0.0 port 22.

-u schränkt den Umfang auf eine Einheit ein, und -n begrenzt die Anzahl der Einträge. Protokolle anderer Benutzer sind möglicherweise aufgrund von Berechtigungen nicht sichtbar. Bei der Untersuchung eines früheren Starts verwenden Sie -b -1, aber auf Systemen, bei denen Journale nicht dauerhaft gespeichert werden, können Protokolle früherer Starts nicht verfügbar sein.

Begrenzen Sie das Zeitfenster mit --since '2026-09-28 09:00' oder --until. Berücksichtigen Sie die Systemzeitzone und prüfen Sie Einträge unmittelbar vor und nach dem Ereignis, um eine Ursache von Folgfehlern zu unterscheiden. Protokolle können Tokens oder persönliche Daten enthalten, daher sensible Werte vor dem Teilen schwärzen.

Hauptoptionen und Format

Optionen/Format Beschreibung
-u UNIT Beschränkt auf Protokolle der angegebenen Einheit.
-b Wählt Protokolle des aktuellen Starts aus.
-n N Zeigt nur die letzten N Einträge an.
-f Gibt kontinuierlich neue Protokolle aus.
-p LEVEL Wählt Nachrichten mit der angegebenen Wichtigkeitsstufe oder höher aus.
--since TIME Wählt Protokolle nach der angegebenen Zeit aus.

Vorsichtsmaßnahmen bei der Verwendung

Protokolle können sensible Informationen wie Benutzerdaten, Pfade und Tokens enthalten, überprüfen Sie sie daher, bevor Sie sie teilen. Frühere Boot-Protokolle sind möglicherweise nicht verfügbar, wenn die persistente Journalspeicherung nicht aktiviert ist. Verwenden Sie --vacuum-* nicht während einer einfachen Ansicht, da dadurch gespeicherte Protokolle entfernt werden.

Häufig gestellte Fragen

Warum sind frühere Boot-Protokolle nicht sichtbar?

Das Journal wird möglicherweise nicht persistent gespeichert oder wurde bereits rotiert oder gelöscht. Überprüfen Sie die gespeicherten Boot-Sitzungen mit journalctl --list-boots.

Offizielle Dokumentation

Sie können das genaue Verhalten der Optionen und Implementierungsunterschiede in der offiziellen journalctl-Dokumentation nachsehen.