JOURNALCTL(1) | journalctl | JOURNALCTL(1) |
journalctl - Abfragen des Systemd-Journals
journalctl [OPTIONEN…] [ÜBEREINSTIMMUNGEN…]
journalctl kann zur Abfrage der Inhalte des Journals von systemd(1) wie von systemd-journald.service(8) geschrieben benutzt werden.
Beim Aufruf ohne Parameter wird der gesamte Inhalt des Journals angezeigt, beginnend mit dem ältesten gesammelten Eintrag.
Falls ein oder mehrere Übereinstimmungsparameter übergeben werden, wird die Ausgabe entsprechend gefiltert. Eine Übereinstimmung ist in der Form »FELD=Wert«, z.B. »_SYSTEMD_UNIT=httpd.service«, was sich auf strukturierte Journal-Einträge bezieht. Siehe systemd.journal-fields(7) für eine Liste von gut bekannten Feldern. Falls mehrere Übereinstimmungen, die verschiedene Übereinstimmungsfelder angeben, übergeben werden, werden die Protokolleinträge entsprechend aller Felder gefiltert, d.h. die resultierende Ausgabe wird nur Einträge zeigen, die mit allen angegebenen Übereinstimmungen dieser Art übereinstimmen. Falls zwei Übereinstimmungen auf das gleiche Feld angewandt werden, dann werden sie automatisch als Alternativen auf Übereinstimmung geprüft, d.h. die resultierende Ausgabe wird Einträge zeigen, die mit jeder der angegebenen Übereinstimmungen für das gleiche Feld übereinstimmen. Schließlich darf das Zeichen »+« als separates Wort zwischen anderen Ausdrücken auf der Befehlszeile erscheinen. Dies führt dazu, dass alle Übereinstimmungen davor und danach als Disjunktion (d.h. als logisches ODER) verknüpft werden.
Es ist auch möglich, die Einträge durch Angabe eines absoluten Dateipfads zu filtern. Der Dateipfad kann eine Datei oder ein symbolischer Link sein und die Datei muss zum Zeitpunkt der Abfrage existieren. Falls sich der Dateipfad auf ein ausführbares Programm bezieht, wird eine »_EXE=«-Übereinstimmung für den kanonisierten Programmpfad zu der Abfrage hinzugefügt. Falls sich ein Dateipfad auf ein ausführbares Skript bezieht, wird eine »_COMM=«-Übereinstimmung für den Skriptpfad zu der Abfrage hinzugefügt. Falls ein Dateipfad sich auf einen Geräteknoten bezieht, wird eine »_KERNEL_DEVICE=«-Übereinstimmung für den Kernelnamen des Gerätes und für jeden seiner Nachkommensgeräte zu der Abfrage hinzugefügt. Symbolische Links werden dereferenziert, Kernelnamen werden synthetisiert und Elterngeräte werden zum Zeitpunkt der Abfrage identifiziert. Im Allgemeinen ist ein Geräteknoten der beste Proxy für ein tatsächliches Gerät, da Protokolleinträge normalerweise keine Felder enthalten, die tatsächliche Geräte identifizieren. Damit die resultierenden Protokolleinträge für das tatsächliche Gerät korrekt sind, muss der relevante Teil der Umgebung zum Zeitpunkt der Protokollierung des Eintrags, insbesondere das dem Geräteknoten entsprechende tatsächliche Gerät, identisch zum Zeitpunkt der Abfrage sein. Da Geräteknoten im Allgemeinen nach Systemneustarts ihre entsprechenden Geräte ändern, führt die Angabe von Geräteknotenpfaden dazu, dass die resultierenden Einträge auf solche des aktuellen Systemstarts begrenzt sind.
Mit den Optionen --boot, --unit= usw. können zusätzliche Einschränkungen hinzugefügt werden, um weiter einzuschränken, welche Einträge angezeigt werden (logisches UND).
Die Ausgabe wird aus allen zugreifbaren Quellen verschachtelt, unabhängig davon, ob sie rotiert oder momentan geschrieben werden und unabhängig davon, ob sie zu dem System selbst gehören oder zugreifbare Benutzer-Journale sind.
Die Gruppe der verwandten Journal-Dateien kann mit den Optionen --user, --system, --directory und --file verändert werden, siehe unten.
Allen Benutzern wird Zugriff auf ihre privaten benutzerbezogenen Journale gewährt. Standardmäßig wird allerdings nur Root und Benutzern, die Mitglied ein paar besonderer Gruppen sind, der Zugriff auf das System-Journal und die Journale der anderen Benutzer gewährt. Mitglieder der Gruppen »systemd-journal«, »adm« und »wheel« können alle Journal-Dateien lesen. Beachten Sie, dass die zwei letzten Gruppen traditionell über zusätzliche, von der Distribution festgelegte Privilegien verfügen. Mitglieder der Gruppe »wheel« können oft zusätzliche administrative Aufgaben durchführen.
Die Ausgabe wird standardmäßig seitenweise durch less geleitet und lange Zeilen werden auf Bildschirmbreite »abgeschnitten«. Der versteckte Anteil kann mittels der Pfeil-links- und Pfeil-rechts-Tasten betrachtet werden. Seitenweise Anzeige kann deaktiviert werden; siehe die Option --no-pager und den Abschnitt »Umgebungsvariablen« unten.
Erfolgt die Ausgabe auf ein TTY, werden die Zeilen entsprechend der Priorität eingefärbt: Zeilen der Stufe ERROR und höher werden rot eingefärbt; Zeilen der Stufe NOTICE und höher werden hervorgehoben; Zeilen der Stufe DEBUG werden in leichtem Grau eingefärbt; andere Zeilen werden normal dargestellt.
Die folgenden Optionen werden verstanden:
--no-full, --full, -l
Die alten Optionen -l/--full sind nicht mehr nützlich, außer um --no-full rückgängig zu machen.
-a, --all
-f, --follow
-e, --pager-end
-n, --lines=
--no-tail
-r, --reverse
-o, --output=
short
short-full
short-iso
short-iso-precise
short-precise
short-monotonic
short-unix
verbose
export
json
Beachten Sie, dass diese Kodierung invertierbar ist (mit der Ausnahme der Größenbegrenzung).
json-pretty
json-sse
json-seq
cat
with-unit
--output-fields=
--utc
--no-hostname
Hinweis: Diese Option entfernt keine Vorkommen von Rechnernamen aus den Protokolleinträgen selbst, sie verhindert somit nicht, dass Rechnernamen in den Protokollen sichtbar werden.
-x, --catalog
Beachten Sie: Wenn Sie die Ausgabe von journalctl an Fehlerberichte anhängen, verwenden Sie -x nicht.
-q, --quiet
-m, --merge
-b [[Kennung][±Versatz]|all], --boot[=[Kennung][±Versatz]|all]
Das Argument darf leer sein, in diesem Fall werden die Protokolle für den aktuellen Systemstart angezeigt.
Falls die Systemstartkennung weggelassen wird, wird ein positiver Versatz die Systemstarts, beginnend vom Anfang des Journals, nachschlagen, und ein Versatz, der kleiner oder gleich Null ist, wird die Systemstarts beginnend vom Ende des Journals nachschlagen. Daher bedeutet 1 den ersten im Journal in chronologischer Ordnung gefundenen Systemstart, 2 den zweiten und so weiter, während -0 der neuste Systemstart ist, -1 der Systemstart vor dem neusten und so weiter. Ein leerer Versatz ist äquivalent zur Angabe von -0, außer wenn der aktuelle Systemstart nicht der neuste ist (z.B. da --directory angegeben wurde, um Protokolle von anderen Maschinen anzusehen).
Falls die 32-Zeichen-Kennung angegeben ist, kann sie optional vom Versatz gefolgt werden, der den Systemstart relativ zu der angegebenen Kennung identifiziert. Negative Werte bedeuten vorherige Systemstarts und positive Werte bedeuten nachfolgende Systemstarts. Falls Versatz nicht angegeben ist, wird ein Wert Null angenommen und die Protokolle des durch Kennung angegebenen Systemstarts werden angezeigt.
Das besondere Argument all kann zur Negierung der Wirkung eines vorhergehenden Einsatzes von -b verwandt werden.
--list-boots
-k, --dmesg
-t, --identifier=SYSLOG-KENNUNG
Dieser Parameter kann mehrfach angegeben werden.
-u, --unit=UNIT|MUSTER
Dieser Parameter kann mehrfach angegeben werden.
--user-unit=
Dieser Parameter kann mehrfach angegeben werden.
-p, --priority=
--facility=
-g, --grep=
Falls das Muster komplett in Kleinschreibung ist, ist der Abgleich unabhängig von der Groß-/Kleinschreibung. Andernfalls ist der Abgleich abhängig von der Groß-/Kleinschreibung. Dies kann mit der Option --case-sensitive außer Kraft gesetzt werden, siehe unten.
--case-sensitive[=BOOLEAN]
-c, --cursor=
--cursor-file=DATEI
--after-cursor=
--show-cursor
-- cursor: s=0639…
Das Format des Positionszeigers ist privat und kann sich ändern.
-S, --since=, -U, --until=
-F, --field=
-N, --fields
--system, --user
-M, --machine=
-D VERZEICHNIS, --directory=VERZEICHNIS
--file=GLOB
--root=WURZEL
--grub-mkimage=ABBILD
--namespace=NAMENSRAUM
--header
--disk-usage
--vacuum-size=, --vacuum-time=, --vacuum-files=
--vacuum-size=, --vacuum-time= und --vacuum-files= können in einem einzelnen Aufruf kombiniert werden, um eine Kombination einer Größen-, einer Zeit- und eine Anzahl von Dateien-Beschränkung von archivierten Journal-Dateien zu erzwingen. Wird einer dieser drei Parameter als Null angegeben, dann ist das äquivalent dazu, die angegebene Begrenzung nicht zu erzwingen und daher redundant.
Diese drei Schalter können auch mit --rotate in einem Befehl kombiniert werden. Falls das passiert, werden alle aktiven Dateien zuerst rotiert und dann wird direkt danach die erwünschte Bereinigungsaktion ausgeführt. Die Rotation hat den Effekt, dass alle derzeit aktiven Dateien archiviert werden (und möglicherweise neue, leere Journal-Dateien als Ersatz geöffnet werden) und daher die Bereinigungsaktion die größtmögliche Wirkung hat, da sie alle bisher geschriebenen Protokolldaten berücksichtigen kann.
--list-catalog [128-Bit-Kennung…]
Zeigt nur diese Einträge an, falls irgendeine 128-Bit-Kennung angegeben ist.
--dump-catalog [128-Bit-Kennung…]
Zeigt nur diese Einträge an, falls irgendeine 128-Bit-Kennung angegeben ist.
--update-catalog
--setup-keys
--force
--interval=
--verify
--verify-key=
--sync
--flush
--relinquish-var
--smart-relinquish-var
--rotate
-h, --help
--version
--no-pager
Im Erfolgsfall wird 0 zurückgeliefert; andernfalls wird ein von Null verschiedener Code zurückgeliefert.
$SYSTEMD_PAGER
$SYSTEMD_LESS
Benutzer könnten insbesondere zwei Optionen ändern wollen:
K
Falls der Wert von $SYSTEMD_LESS kein »K« enthält und less das aufgerufene Textanzeigeprogramm ist, wird Strg+C durch das Programm ignoriert und muss durch das Textanzeigeprogramm selbst gehandhabt werden.
X
Siehe less(1) für weitere Ausführungen.
$SYSTEMD_LESSCHARSET
$SYSTEMD_PAGERSECURE
Hinweis: Wenn Befehle mit erhöhten Rechten ausgeführt werden, beispielsweise mittels sudo(8) oder pkexec(1), muss Vorsicht walten gelassen werden, um sicherzustellen, dass keine ungeplanten interaktiven Funktionalitäten aktiviert werden. Der »sichere« Modus für das Seitenanzeigeprogramm kann wie oben beschrieben automatisch aktiviert werden. Durch Setzen von SYSTEMD_PAGERSECURE=0 oder durch Nichtenfernen dieser Einstellung aus der ererbten Umgebung wird es dem Benutzer ermöglicht, beliebige Befehle auszuführen. Beachten Sie, dass auch $SYSTEMD_PAGERSECURE gesetzt werden muss, falls die Variablen $SYSTEMD_PAGER oder $PAGER berücksichtigt werden sollen. Es kann sinnvoll sein, stattdessen den Seitenanzeiger komplett mit --no-pager zu deaktivieren.
$SYSTEMD_COLORS
$SYSTEMD_URLIFY
Ohne Argumente werden alle gesammelten Protokolle ungefiltert angezeigt:
journalctl
Wird ein Treffer angegeben, werden alle Einträge, bei denen ein Feld auf den Ausdruck passt, angezeigt:
journalctl _SYSTEMD_UNIT=avahi-daemon.service journalctl _SYSTEMD_CGROUP=/user.slice/user-42.slice/session-c1.scope
Falls zwei verschiedene Felder verglichen werden, werden nur Einträge, die auf beide Ausdrücke gleichzeitig passen, angezeigt:
journalctl _SYSTEMD_UNIT=avahi-daemon.service _PID=28097
Falls sich zwei Treffer auf das gleiche Feld beziehen, werden alle Einträge, die auf einer der zwei Ausdrücke passen, angezeigt:
journalctl _SYSTEMD_UNIT=avahi-daemon.service _SYSTEMD_UNIT=dbus.service
Falls der Trenner »+« verwandt wird, können zwei Ausdrücke mit einem logischen ODER verbunden werden. Folgendes Beispiel wird alle Nachrichten vom Avahi-Diensteprozess mit der PID 28097 sowie alle Nachrichten vom D-Bus-Dienst (von einem beliebigen Prozess) anzeigen:
journalctl _SYSTEMD_UNIT=avahi-daemon.service _PID=28097 + _SYSTEMD_UNIT=dbus.service
Um alle Felder, die von und über die Unit ausgegeben werden, anzuzeigen, sollte die Option -u/--unit= verwandt werden. journalctl -u name expandiert zu einem komplexen Filter ähnlich zu
_SYSTEMD_UNIT=Name.service
+ UNIT=Name.service _PID=1
+ OBJECT_SYSTEMD_UNIT=Name.service _UID=0
+ COREDUMP_UNIT=Name.service _UID=0 MESSAGE_ID=fc2e22bc6ee647b6b90729ab34a250b1
(siehe systemd.journal-fields(7) für eine Erklärung dieser Muster).
Zeigt alle Protokolle, die vom D-Bus-Programm erzeugt wurden:
journalctl /usr/bin/dbus-daemon
Zeigt alle Kernelprotokolle vom vorherigen Systemstart:
journalctl -k -b -1
Zeigt eine Live-Protokollanzeige von einem Systemdienst apache.service:
journalctl -f -u apache
systemd(1), systemd-journald.service(8), systemctl(1), coredumpctl(1), systemd.journal-fields(7), journald.conf(5), systemd.time(7), systemd-journal-remote.service(8), systemd-journal-upload.service(8)
Die deutsche Übersetzung dieser Handbuchseite wurde von Helge Kreutzmann <debian@helgefjell.de> erstellt.
Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder neuer bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen.
Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die Mailingliste der Übersetzer.
systemd 247 |