Все свойства systemd
модулей могут быть запрошены:
systemctl show $unit
Индивидуальные свойства могут быть запрошены:
systemctl show $unit -p $property --value
Технически, это не ответ на ваш вопрос, потому что таймеры не "выполнены", но предположим, что вы хотите посмотреть на единицу, на которую ссылается таймер, тогда вы можете запросить его последнее время "запуска" с помощью:
systemctl show $unit -p ExecMainStartTimestamp --value
и его последнее время "остановки" с:
systemctl show $unit -p ExecMainExitTimestamp --value
Они производят выходы в виде So 2017-04-16 19:19:12 UTC
(в моей системе для моей местности) , которая не является ни ISO 8601 , ни feedable к (ГНУ) date
Но если вы установите LC_TIME
в вызове на C
, вы можете обрабатывать данные дальше (при условии, что вы используете date
GNU или аналогичный инструмент):
date --date="$(LC_TIME=C systemctl show $unit -p ExecMainExitTimestamp --value)" -I
Это (например) вернет 2017-04-16
.
До версии 230 systemd
не предоставлял опцию --value
и вместо этого возвращал значение свойства, которому предшествуют имя свойства и знак равенства. В этом случае вы должны извлечь значение свойства из данных самостоятельно, например с помощью sed
:
date --date="$(LC_TIME=C systemctl show $unit -p ExecMainExitTimestamp | sed -e 's/^[^=]\+=//;')" -I