使用 UTC 时间时,systemd 计时器无法启动(参数无效)

Gri*_*a S 4 linux systemd

这是我的计时器:

[Unit]
Description=Do whatever

[Timer]
OnCalendar=daily UTC

[Install]
WantedBy=timers.target
Run Code Online (Sandbox Code Playgroud)

它无法启动并出现以下错误:

Failed to start mytimer.timer: Unit mytimer.timer failed to load: Invalid argument. See system logs and 'systemctl status mytimer.timer' for details.
Run Code Online (Sandbox Code Playgroud)

遗憾的是,systemctl status错误消息没有任何清晰度

但是,如果我删除 UTC 文字,它就可以正常工作:

[Unit]
Description=Do whatever

[Timer]
OnCalendar=daily

[Install]
WantedBy=timers.target
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

该文档描述了 接受的格式OnCalendar,并且表明可以使用UTC。

是的,我尝试使用引号 - 没有帮助。我也尝试使用标准化形式 - 同样的事情

版本:

  • 操作系统:CentOS 7
  • 内核:3.10.0-042stab113.21
  • 系统:systemd-219-19.el7_2.9.x86_64

Mic*_*ton 5

OnCalendar=与任何后缀为 的时间戳一起使用UTC需要 systemd 228 或更高版本。此功能已在 systemd 228 中添加。

来自 systemd变更日志

228 的变化:

...

  • 无论何时 systemd 需要日历时间戳规范(例如在 Journalctl 的 --since= 和 --until= 开关中),现在都支持 UTC 时间戳。以“UTC”为后缀的时间戳现在被视为采用协调世界时而不是本地时区。此外,现在可以选择以亚秒级精度指定时间戳。这两个新增内容也适用于循环日历事件规范,例如计时器单位中的 OnCalendar=。