温馨提示×

debian定时器如何日志查看

小樊
45
2026-10-07 17:53:12
栏目: 智能运维

在 Debian 中,“定时器”通常指 systemd timer(系统定时器)。下面按常见需求说明如何查看定时器日志。


一、查看某个 timer 的执行情况

1. 查看 timer 状态

systemctl status your-task.timer

可以看到:

  • 是否启用
  • 上次/下次触发时间
  • 关联的 service 名称

2. 查看 timer 触发日志(重点)

systemd 的日志由 journald 管理:

journalctl -u your-task.timer

如果 timer 调用的是 service:

journalctl -u your-task.service

同时查看 timer + service:

journalctl -u your-task.timer -u your-task.service

二、按时间查看日志

最近日志

journalctl -u your-task.service --since "1 hour ago"

实时查看

journalctl -u your-task.service -f

三、确认 timer 是否真的触发了

systemctl list-timers

或只看某一个:

systemctl list-timers your-task.timer

四、如果看不到日志(常见问题)

1. journald 没开持久化

检查:

ls /var/log/journal

若没有:

mkdir -p /var/log/journal
systemctl restart systemd-journald

2. service 里没输出日志

确保脚本有输出,例如:

echo "run at $(date)" >> /var/log/mytask.log

或在 service 中:

StandardOutput=journal
StandardError=journal

五、示例

timer

# /etc/systemd/system/backup.timer
[Unit]
Description=Backup Timer

[Timer]
OnCalendar=*-*-* 02:00:00
Persistent=true

[Install]
WantedBy=timers.target

service

# /etc/systemd/system/backup.service
[Service]
Type=oneshot
ExecStart=/usr/local/bin/backup.sh

查看日志

journalctl -u backup.timer -u backup.service

如果你说的是 cron 定时器(不是 systemd timer),我也可以告诉你怎么看 /var/log/syslog 或 cron.log。

0 踩