在Ubuntu系统中,journalctl是一个非常强大的工具,用于查看和管理systemd日志。以下是一些常用的journalctl命令和选项:
查看所有日志
journalctl
查看最近的日志条目
journalctl -n 100 # 查看最近的100条日志
查看特定服务的日志
journalctl -u service_name # 查看名为service_name的服务的日志
查看特定时间段的日志
journalctl --since "2023-04-01 00:00:00" --until "2023-04-30 23:59:59"
实时查看日志
journalctl -f # 实时跟踪日志输出
查看启动日志
journalctl -b # 查看当前启动的日志
journalctl -b -1 # 查看上一次启动的日志
查看特定PID的日志
journalctl -p pid # 查看指定PID的日志
查看特定用户会话的日志
journalctl _UID=1000 # 查看UID为1000的用户会话的日志
查看特定内核版本的日志
journalctl -k # 查看内核日志
journalctl -b -1 -k # 查看上一次启动的内核日志
清理旧日志
journalctl --vacuum-time=2weeks # 清理两周前的日志
journalctl --vacuum-size=1G # 清理超过1GB的日志
过滤日志
journalctl -u service_name --since "2023-04-01" --until "2023-04-30" | grep "ERROR"
查看特定优先级的日志
journalctl -p err..crit # 查看错误到严重级别的日志
查看特定模块的日志
journalctl -p err..crit -k module_name
查看特定设备的日志
journalctl -b -p err..crit -k dev_sda
查看特定内核参数的日志
journalctl -b -p err..crit -k kernel_param=value
假设你想查看名为nginx的服务在过去一周的日志,并且只显示错误级别的日志:
journalctl -u nginx --since "2023-04-01" --until "2023-04-08" -p err
通过这些命令和选项,你可以灵活地查看和管理Ubuntu系统中的日志。