Ubuntu 16.04 Xenial Xerus
systemd verwendet standardmäßig ein zentrales Journal, in dem alle Logs aufgezeichnet werden. Mit dem Befehl systemd-cat kann man auf der Kommandozeile bzw. aus Shellskripten heraus bei Bedarf Einträge in dieses Journal schreiben. Es stellt damit einen Ersatz zum Befehl logger dar.
systemd-cat ist im Paket systemd enthalten, das integraler Bestandteil von Ubuntu ist und ohne dass das System nicht lauffähig ist. Von daher ist systemd-cat immer installiert.
Die Benutzung von systemd-cat ist einfach. Die allgemeine Syntax lautet [1]:
systemd-cat [OPTION] BEFEHL
Dabei wird die Ausgabe von BEFEHL
in die Logdatei geschrieben. Wird kein BEFEHL
angegeben, liest systemd-cat standardmäßig von stdin. Da systemd-cat ein "normaler" Shellbefehl ist, funktionieren natürlich auch alle Umleitungen. So würde z.B. bei
echo 'Hallo Welt' | systemd-cat
die Zeichenkette Hallo Welt
in die Logdatei geschrieben.
Optionen von systemd-cat | |
Option | Erklärung |
-t , --identifier= | Fügt der Logmeldungen einen "Identifier" (Text zur Identifikation) hinzu. Dies ist immer dann sinnvoll, wenn man später gezielt nach bestimmten Einträgen suchen möchte. |
-p , --priority= | Gibt der Logmeldung eine Priorität, welche an die von syslog angelehnt ist. Mögliche Werte sind emerg , alert , crit , err , warning , notice , info , debug . Alternativ kann die Priorität als Zahl zwischen 0 (emeg ) und 7 (debug ) angegeben werden. |
--level-prefix= | Legt fest, ob die Logmeldung vor dem Schreiben auf ein Prioritäts-Prefix geprüft werden soll. Mögliche Werte sind true (die Voreinstellung) oder false |
Im Folgenden einige Beispiele zu systemd-cat.
Die Ausgabe von ls in die Logdatei schreiben:
systemd-cat ls
Die Zeichenkette "Hallo Welt" mit dem Identifier [ubuntuusers]
in die Logdatei schreiben:
echo "Hallo Welt" | systemd-cat -t "ubuntuusers"
Ergebnis:
Jan 14 19:49:35 xubuntu ubuntuusers[1939]: Hallo Welt
Wie zu sehen ist, werden dabei standardmäßig Datum, Uhrzeit und Rechnername mit geloggt.
Wie oben, aber mit dem Loglevel "warning":
echo "Hallo Welt" | systemd-cat -p "warning"
Loglevel automatisch auf "Info" setzen:
echo "<6>Hallo Welt" | systemd-cat
Die 6
entspricht der numerischen Priorität für "Info", siehe obige Tabelle. Die spitzen Klammern < >
sind notwendig, damit systemd-cat die Zahl als Priorität des Loglevels identifiziert. Der Befehl:
echo "<6>Hallo Welt" | systemd-cat --level-prefix False
würde hingegen folgenden Logeintrag schreiben:
Jan 14 20:01:35 xubuntu unknown[1963]: <6>Hallo Welt
journalctl - die systemd-Datei auslesen
Logdateien - Wikiartikel zum Thema Logdateien
Dokumentation von systemd-cat bei freedesktop.org
Diese Revision wurde am 3. Januar 2017 13:46 von aasche erstellt.