You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

systemd timer运行时间不符、list-timers字段异常问题咨询

问题1:timer仍在按规律触发运行的前提下,为何list-timers的NEXT、LEFT字段显示为n/a?

核心原因是你的sync.service配置了RemainAfterExit=yes:

  • Type=oneshot类型的服务开启该参数后,执行完ExecStart指定的脚本后,服务状态会保持为active (exited)而非默认的inactive
  • systemd timer判定关联服务仍处于活跃状态时,不会计算下一次触发时间,因此NEXT、LEFT字段都会显示为n/a

问题2:为何sync.service的日志运行时间与timer的LAST字段记录的时间不匹配?

你在日志里看到的非预期时间的服务启动,不是sync.timer触发的:

  • timer的LAST字段仅记录timer本身按照配置规则成功触发服务的时间
  • 非timer触发的服务启动不会更新timer的LAST字段,因此会出现二者时间不匹配的情况

问题3:为何sync.service会反复在UTC时间0点左右运行?

原因出在sync.service的Requires=another.service配置,和timer规则无关,这也是你修改timer的OnCalendar配置后问题仍然存在的原因:

  • Requires强依赖规则会要求被依赖的another.service启动时,同步启动sync.service
  • 你的环境里another.service应该固定在UTC 0点左右重启/启动,因此会连带触发sync.service同步启动

修复方案

  1. 先确认another.service的启动规律,如果不需要another.service启动时自动触发同步,可以把Requires=another.service改成After=another.service,仅声明启动顺序依赖,不绑定启动逻辑
  2. 如果你的同步脚本不需要执行完后保留活跃状态,可以删掉sync.service里的RemainAfterExit=yes配置,修改后执行systemctl daemon-reload,重启sync.timer即可恢复timer的下一次触发时间显示

内容的提问来源于stack exchange,提问作者Atsushi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 10:24:00