在 Debian 中,“定时器”通常指 systemd timer(系统定时任务)。查看其日志主要依赖 journalctl。下面按常见场景说明。
假设定时器叫 backup.timer,对应服务是 backup.service:
# 查看该 timer 本身
journalctl -u backup.timer
# 查看对应 service 的日志(实际执行内容)
journalctl -u backup.service
# 同时看 timer + service
journalctl -u backup.timer -u backup.service
# 最近 50 条
journalctl -u backup.service -n 50
# 实时跟踪
journalctl -u backup.service -f
有时“没日志”是因为定时器根本没跑:
# 查看定时器状态
systemctl status backup.timer
# 查看下次/上次执行时间
systemctl list-timers
# 查看某个 timer 详情
systemctl list-timers backup.timer
如果 LAST 是 n/a,说明从未触发。
# 手动启动服务
systemctl start backup.service
# 或立即触发 timer
systemctl start backup.timer
然后看日志是否有输出。
systemd 只会捕获 stdout / stderr:
[Service]
ExecStart=/usr/local/bin/backup.sh
脚本中必须有输出,例如:
echo "backup started at $(date)"
Debian 默认 journal 在内存中:
journalctl --disk-usage
持久化日志:
sudo mkdir -p /var/log/journal
sudo systemctl restart systemd-journald
如果你说的是 cron:
# 系统 cron 日志
grep CRON /var/log/syslog
# 用户 cron
crontab -l
systemctl status xxx.timer
systemctl list-timers xxx.timer
journalctl -u xxx.service
如果你愿意,可以告诉我:
我可以帮你具体看配置。