Вот мой таймер:
[Unit]
Description=Do whatever
[Timer]
OnCalendar=daily UTC
[Install]
WantedBy=timers.target
Не запускается из-за следующей ошибки:
Failed to start mytimer.timer: Unit mytimer.timer failed to load: Invalid argument. See system logs and 'systemctl status mytimer.timer' for details.
Печально systemctl status
не добавляет ясности сообщению об ошибке
Но если я удалю литерал UTC, он будет работать отлично:
[Unit]
Description=Do whatever
[Timer]
OnCalendar=daily
[Install]
WantedBy=timers.target
Что я делаю не так?
Этот документ описывает формат, принятый OnCalendar
, и это показывает, что можно использовать UTC.
Да, пробовал использовать кавычки - не помогает. Я также пробовал использовать нормализованную форму - то же самое
Версии:
С помощью OnCalendar=
с любой меткой времени с суффиксом UTC
требуется systemd 228 или новее. Эта функция была добавлена в systemd 228.
Из systemd журнал изменений:
ИЗМЕНЕНИЯ В 228:
...
- Везде, где systemd ожидает указание календарной отметки времени (например, в параметрах journalctl --since = и --until =), теперь поддерживаются временные отметки UTC. Метки времени с суффиксом «UTC» теперь считаются всемирным координированным временем, а не местным часовым поясом. Кроме того, временные метки теперь можно указывать с точностью до секунды. Оба эти дополнения также применяются к спецификации повторяющихся событий календаря, например OnCalendar = в единицах таймера.