跳到主要内容

journalctl

journalctl 查询 systemd-journald 收集的日志;正确拼写是 journalctl。查询系统服务日志时,权限不足可使用 sudo。

常用查询​

# 本次启动中,指定服务的最近 100 条日志
sudo journalctl -u example-job.service -b -n 100 --no-pager

# 实时跟踪,Ctrl+C 仅退出查看,不停止服务
sudo journalctl -u example-job.service -f

# 时间范围与易读时间戳
sudo journalctl -u example-job.service --since 'today' -o short-iso --no-pager

# 上次启动及可查询的启动批次
sudo journalctl --list-boots
sudo journalctl -u example-job.service -b -1 --no-pager

# warning 及更严重级别
sudo journalctl -u example-job.service -p warning --since '1 hour ago'

关键坑点​

  • .timer 日志主要反映调度,任务输出通常应查对应 .service。
  • 日志保留受 journald 存储和轮转设置影响;重启后查不到历史,不代表任务从未运行。
  • 应用写入独立文件的日志不一定进入 journal;检查服务的输出配置和应用日志设置。
  • -p 按日志级别过滤,普通标准输出不一定被识别成错误;排障先看完整时间范围。

参考资料​