Alle systemd
Eigenschaften der Einheiten können abgefragt werden durch:
systemctl show $unit
Einzelne Eigenschaften können abgefragt werden durch:
systemctl show $unit -p $property --value
Technisch ist dies keine Antwort auf Ihre Frage, da Timer nicht "ausgeführt" werden, aber wenn Sie sich die Einheit ansehen möchten, auf die sich der Timer bezieht, können Sie die letzte "Startzeit" mit abfragen:
systemctl show $unit -p ExecMainStartTimestamp --value
und seine letzte "Stopp" -Zeit mit:
systemctl show $unit -p ExecMainExitTimestamp --value
Diese erzeugen Ausgaben in Form von So 2017-04-16 19:19:12 UTC
(auf meinem System für mein Gebietsschema), die weder ISO 8601 sind noch an (GNU) anpassbar sind date
. Wenn Sie jedoch LC_TIME
beim Aufruf auf setzen C
, können Sie die Daten weiter verarbeiten (vorausgesetzt, Sie verwenden GNU date
oder ein ähnliches Werkzeug):
date --date="$(LC_TIME=C systemctl show $unit -p ExecMainExitTimestamp --value)" -I
Dies wird (zum Beispiel) zurückkehren 2017-04-16
.
Vor Version 230 wurde systemd
keine --value
Option bereitgestellt. Stattdessen wurde der Eigenschaftswert zurückgegeben, dem der Eigenschaftsname und ein Gleichheitszeichen vorangestellt waren. In diesem Fall müssen Sie den Wert der Eigenschaft selbst aus den Daten extrahieren, zum Beispiel mit sed
:
date --date="$(LC_TIME=C systemctl show $unit -p ExecMainExitTimestamp | sed -e 's/^[^=]\+=//;')" -I