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.
2004 – 2017 ubuntuusers.de • Einige Rechte vorbehalten