Debian 里“定时器失败”这个说法比较笼统,常见的是 systemd timer(定时器)没按预期执行,也可能是 cron / at 的问题。下面按最常见原因给你一个排查清单。
systemctl list-timers
如果看不到你的 timer,说明没启用:
systemctl enable --now your.timer
systemctl status your.timer
systemctl status your.service
journalctl -u your.service
常见问题:
例如:
OnCalendar=*-*-* 02:00:00
但系统时区不对:
timedatectl
时区错会导致“看起来没执行”。
OnBootSec=10min
只在启动后触发,不会立即跑。
systemd 环境非常干净:
✅ 正确做法:
[Service]
Environment=PATH=/usr/local/bin:/usr/bin:/bin
systemctl status cron
cron 默认:
❌ 错误示例:
0 2 * * * backup.sh
✅ 正确示例:
0 2 * * * /usr/local/bin/backup.sh >> /var/log/backup.log 2>&1
crontab -e/etc/cron.d/(必须指定用户)journalctl -xe
systemctl status your.timer
systemctl cat your.timer
systemctl cat your.service
你可以直接贴出:
journalctl 输出)我可以一步一步帮你定位“到底哪一步失败了”。