Podman-auto-update.timer配置修改后触发间隔异常求助
Podman自动更新定时器间隔异常问题解决
问题原因
你设置的OnActiveSec=300仅控制定时器激活后的首次触发时间,并不会定义后续的重复触发间隔。默认的podman-auto-update.timer自带了重复触发规则(比如默认可能是每日一次,因时区或配置差异显示为11小时间隔),所以首次触发后,系统会自动沿用默认的重复规则,导致后续间隔不符合预期。
解决方案
需要在定时器配置中添加重复触发的间隔规则,确保每次服务执行完成后,间隔300秒再次触发。具体操作如下:
- 重新编辑定时器的override配置:
systemctl --user edit podman-auto-update.timer
- 将配置修改为:
[Timer] OnActiveSec=300 OnUnitActiveSec=300
OnActiveSec=300:保持首次触发在定时器激活后300秒执行OnUnitActiveSec=300:指定每次podman-auto-update.service成功执行完成后,间隔300秒再次触发定时器
- 重新加载systemd配置并重启定时器:
systemctl --user daemon-reload systemctl --user restart podman-auto-update.timer
- 验证配置生效:
执行systemctl --user status podman-auto-update.timer,查看Trigger字段,后续触发时间应显示为每次间隔300秒(5分钟)。
补充说明
如果需要不管服务执行是否成功,都固定间隔触发,可以将OnUnitActiveSec替换为OnUnitInactiveSec=300,这样服务结束(无论成功或失败)后,间隔300秒再次触发。
内容的提问来源于stack exchange,提问作者night_owl
相关产品推荐
相关产品推荐

