ubuntu

Ubuntu系统中如何使用journalctl查看日志

小樊
36
2025-12-15 22:11:04
栏目: 智能运维

在Ubuntu系统中,journalctl是一个非常强大的工具,用于查看和管理systemd日志。以下是一些常用的journalctl命令和选项:

基本用法

  1. 查看所有日志

    journalctl
    
  2. 查看最近的日志条目

    journalctl -n 100  # 查看最近的100条日志
    
  3. 查看特定服务的日志

    journalctl -u service_name  # 查看名为service_name的服务的日志
    
  4. 查看特定时间段的日志

    journalctl --since "2023-04-01 00:00:00" --until "2023-04-30 23:59:59"
    
  5. 实时查看日志

    journalctl -f  # 实时跟踪日志输出
    
  6. 查看启动日志

    journalctl -b  # 查看当前启动的日志
    journalctl -b -1  # 查看上一次启动的日志
    
  7. 查看特定PID的日志

    journalctl -p pid  # 查看指定PID的日志
    
  8. 查看特定用户会话的日志

    journalctl _UID=1000  # 查看UID为1000的用户会话的日志
    
  9. 查看特定内核版本的日志

    journalctl -k  # 查看内核日志
    journalctl -b -1 -k  # 查看上一次启动的内核日志
    
  10. 清理旧日志

    journalctl --vacuum-time=2weeks  # 清理两周前的日志
    journalctl --vacuum-size=1G  # 清理超过1GB的日志
    

高级用法

  1. 过滤日志

    journalctl -u service_name --since "2023-04-01" --until "2023-04-30" | grep "ERROR"
    
  2. 查看特定优先级的日志

    journalctl -p err..crit  # 查看错误到严重级别的日志
    
  3. 查看特定模块的日志

    journalctl -p err..crit -k module_name
    
  4. 查看特定设备的日志

    journalctl -b -p err..crit -k dev_sda
    
  5. 查看特定内核参数的日志

    journalctl -b -p err..crit -k kernel_param=value
    

示例

假设你想查看名为nginx的服务在过去一周的日志,并且只显示错误级别的日志:

journalctl -u nginx --since "2023-04-01" --until "2023-04-08" -p err

通过这些命令和选项,你可以灵活地查看和管理Ubuntu系统中的日志。

0
看了该问题的人还看了