如何查看服务日志 journalctl日志查询方法

查看服务日志的核心方法是使用 journalctl -u 指定服务名,例如 journalctl -u nginx.service 查看 nginx 服务日志;1. 使用 -n 参数可显示最近 n 行日志,如 journalctl -u nginx.service -n 100 查看最近 100 行;2. 使用 -f 参数可实时跟踪日志输出,如 journalctl -u nginx.service -f;3. 使用 -b 查看本次开机以来的日志,–since 和 –until 可指定时间范围,如 journalctl -u nginx.service –since yesterday 或精确时间段;4. 可结合 -p 过滤日志等级,如 journalctl -u nginx.service -p err 只显示错误及以上级别日志;5. 其他技巧包括用 systemctl list-units –type=service 确认服务名、–no-pager 避免分页、-r 反转显示顺序,掌握这些命令即可满足日常服务日志查看需求。

如何查看服务日志 journalctl日志查询方法

查看服务日志是系统管理和故障排查的常规操作,

journalctl

是 systemd 系统中查看和管理日志的核心工具。它功能强大,使用起来也比较直观。

核心方法:通过服务单元名称查看日志

最常用也最直接的方式是使用

-u

参数指定服务名。例如,要查看 Nginx 服务的运行日志,可以执行:

journalctl -u nginx.service

这条命令会输出 Nginx 服务自启动以来的所有日志条目。如果你只关心最近的几条,可以加上

-n

参数:

# 只看最近100行日志 journalctl -u nginx.service -n 100

如果想实时监控某个服务的日志输出,就像

tail -f

那样,可以加上

-f

参数:

# 实时跟踪 Nginx 日志 journalctl -u nginx.service -f

按时间范围过滤

日志量大时,限定时间范围能快速定位问题。journalctl 支持多种时间格式:

  • 查看本次开机以来的日志:
    journalctl -u nginx.service -b
  • 查看昨天的日志:
    journalctl -u nginx.service --since yesterday
  • 查看指定时间段的日志:
    journalctl -u nginx.service --since "2025-08-05 10:00:00" --until "2025-08-05 12:00:00"

结合其他字段精确过滤

除了服务名,还可以结合进程 ID、日志等级等进行过滤。

  • 按进程 ID 查看日志:
    journalctl _PID=1234
  • 查看特定日志等级(如错误级别):
    # 只看错误和更严重级别的日志 journalctl -u nginx.service -p err

其他实用技巧

  • 如果你不确定服务的完整名称,可以先用
    systemctl list-units --type=service

    查看所有正在运行的服务。

  • 使用
    --no-pager

    参数可以避免日志输出进入分页器,方便在脚本中处理。

  • 日志默认按时间倒序显示,加上
    -r

    参数可以反转顺序,最新的日志会最先显示。

基本上就这些,掌握

-u

-f

-n

-b

和时间过滤这几个关键点,日常查看服务日志就足够用了。

© 版权声明
THE END
喜欢就支持一下吧
点赞7 分享