You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

systemd定时器任务启动失败,每日定时配置报错求助

systemd定时器任务启动失败,每日定时配置报错求助

看起来你在配置systemd定时任务时踩了个语法小坑,我来帮你梳理下问题出在哪:

你想要让任务每天凌晨2点和下午2点各运行一次,于是在.timer文件里写了这段配置:

OnCalendar=*-*-* 02:00:00,14:00:00

但执行systemctl start myjob.timer时收到了报错:

Failed to start myjob.timer: Unit myjob.timer has a bad unit file setting.

问题的根源在于systemd的OnCalendar参数不支持用逗号分隔多个时间规则,这是很多新手容易搞错的点。你可以换成以下两种正确写法之一:

写法一:拆分多个OnCalendar行

把两个时间点分别写成独立的OnCalendar配置,可读性更强:

OnCalendar=*-*-* 02:00:00
OnCalendar=*-*-* 14:00:00

写法二:用空格分隔时间条目

如果想写在同一行,需要用空格代替逗号来分隔不同的时间规则:

OnCalendar=*-*-* 02:00:00 *-*-* 14:00:00

修改完配置后,别忘了先重新加载systemd的配置文件,再启动定时器:

systemctl daemon-reload
systemctl start myjob.timer

你可以用systemctl list-timers myjob.timer命令来检查定时器的触发时间是否符合预期哦。

备注:内容来源于stack exchange,提问作者guesty

火山引擎 最新活动