在 Debian(及大多数 Linux 发行版)中,“定时器”通常指 systemd timer(也可能指 cron)。下面分别说明如何排查错误。
systemctl status <timer名>.timer
重点看:
Loaded:是否加载Active:是否激活Last trigger / Next triggertimer 只是触发器,真正执行的是 service:
systemctl status <service名>.service
journalctl -u <service名>.service
journalctl -u <timer名>.timer
journalctl -u <service名>.service
journalctl -xe
systemctl cat <timer名>.timer
常见问题:
OnCalendar 写错(时间格式不对)WantedBy=timers.targetsystemctl start <service名>.service
看是否能正常运行。
systemctl list-timers --all
可确认 timer 是否真的在调度。
systemctl enable <timer名>.timer
Debian 默认可能没开 cron 日志:
grep cron /var/log/syslog
若没有,可开启:
# /etc/rsyslog.conf 或 /etc/rsyslog.d/
cron.* /var/log/cron.log
然后重启 rsyslog。
/bin/bash /path/to/script.sh
确认脚本本身没问题。
crontab -l
注意:
cron 环境极少,建议:
*/5 * * * * /bin/bash /path/script.sh >> /tmp/cron.log 2>&1
如果你能贴出:
我可以帮你具体定位问题。