在 Debian(以及其它 Linux 发行版)里,**“定时器延迟运行”**通常不是 bug,而是系统或定时机制本身的设计/行为。下面按常见原因系统说明。
Debian 中常见的定时器有:
不同机制,延迟原因不同。
✅ 表现:
✅ 检查:
timedatectl
systemctl status cron
如果 inactive:
systemctl enable --now cron
例如:
AccuracySec 导致“模糊执行”systemd timer 默认:
AccuracySec=1min
意思是:允许 ±1 分钟误差
✅ 表现:
✅ 解决:
AccuracySec=1s
RandomizedDelaySec例如:
OnCalendar=*-*-* 02:00:00
RandomizedDelaySec=30min
✅ 会在 02:00 ~ 02:30 随机执行
如果系统:
默认 不会补跑
需要:
Persistent=true
systemd 会:
at 只跑一次apt install chrony
journalctl -u your.timer
journalctl -u your.service
date >> /tmp/timer.log
Debian 定时器“延迟运行”,大多不是不准,而是:
- systemd 故意模糊
- 系统休眠
- 任务未设为 Persistent
- 或时间同步问题
如果你愿意,可以告诉我:
我可以直接帮你改到“秒级精确”。