systemd:无法解析日历规范,忽略:5m

systemd:无法解析日历规范,忽略:5m

我正在尝试让一个简单的 systemd 服务在计时器单元上运行。由于某种原因,systemd 似乎不喜欢我指定时间的方式。当我使用minutelyordaily作为 的值时,该脚本有效OnCalendar,但现在我想将其设置为 5 分钟,systemd 给出错误:

/etc/systemd/system/backup.timer:7: Failed to parse calendar specification, ignoring: 5m
backup.timer: Timer unit lacks value setting. Refusing.

事情是,根据这一页minutes应该是一个可以理解的时间单位。他们有2hours一个应该在那里工作的示例时间跨度,所以我不明白为什么5m或者5minutes在某种程度上无效。

这是我的计时器文件:

[Unit]
Description=Timer unit for backup.service
Requires=backup.service

[Timer]
Unit=backup.service
OnCalendar=5m

[Install]
WantedBy=timers.target

另一件事是,当我运行时systemd-analyze timespan 5minutes它不会返回错误,并且它似乎能够正确解析该值:

Original: 5minutes
      μs: 300000000
   Human: 5min

答案1

5m是一个时间-跨度OnCalendar=预计时间-邮票

根据系统时间(7),时间戳是时间上的唯一点,而时间跨度是持续时间。

如果您想保留OnCalendar=,请使用如下时间戳:

  • minutely, hourly,daily
  • 2012-11-23 11:12:13
  • Mon,Fri *-01/2-01,03 *:30:45

如果您确实想使用持续时间,请尝试OnActiveSec=OnBootSec=which 需要一个持续时间并将其添加到设备激活或系统启动的时间中。看systemd.定时器(5)更多选项,例如OnUnitActiveSec=(上次触发计时器的时间)

使用日历事件表达式定义实时(即挂钟)计时器。

日历事件表达式是“唯一的时间点”。

相关内容