在 Debian(及大多数 Linux 发行版)里,“定时器”通常指 systemd timer(也可能指 cron)。下面分别说明如何调试它们的错误。
systemctl status mytimer.timer
systemctl list-timers
timer 本身只负责触发,真正执行的是 .service:
systemctl status myservice.service
journalctl -u myservice.service
journalctl -u myservice.service -b
journalctl -u mytimer.timer -b
实时查看:
journalctl -f
systemctl start myservice.service
或立即触发 timer:
systemctl start mytimer.timer
systemd-analyze verify /etc/systemd/system/mytimer.timer
systemd-analyze verify /etc/systemd/system/myservice.service
OnCalendar 写错(时间格式不对)Type= 设置不当systemctl --user enablejournalctl -u cron
或:
grep cron /var/log/syslog
/bin/bash /path/to/script.sh
确保:
* * * * * /path/script.sh >> /tmp/cron.log 2>&1
systemctl status cron
#!/bin/bash
set -x
PATH、HOME)如果你愿意,可以把 timer / crontab 配置 + 报错日志 贴出来,我可以帮你具体分析。