【Linux】journalctl

1、简介

journalctl用于查询和操作systemd进程管理的日志。

Systemd是Linux发行版的初始化系统,负责启动系统后的所有服务,并监视它们在系统运行期间的状态。Journal是Systemd的一部分,主要负责收集和存储日志数据。

journalctl是Journal的主要接口,提供丰富的功能来检索和显示日志条目。它能从磁盘上的二进制文件或者其他传输目标(如syslog)获取日志。

2、基础使用

2.1 查看所有日志

分页输出:

journalctl

不分页输出:

journalctl --no-pager

2.2 按时间倒序查看所有日志

journalctl -r

2.3 查看最新的10条日志

journalctl -n 10

2.4 实时查看新添加的日志条目

journalctl -f

3、过滤日志条目

3.1 根据服务名称过滤

journalctl -u nginx

3.2 根据进程ID过滤

journalctl _PID=2001

3.3 根据优先级过滤(0-7,0表示最重要)

journalctl -p err -b

4、时间戳和日志轮转

日志轮转是一个过程,其中旧的日志条目被删除以释放空间给新的日志条目。默认情况下,Journal将根据配置在/var/log/journal中保存日志文件,并在磁盘空间不足时执行日志轮转。

时间戳允许你查找特定时间范围内的日志条目。例如:

journalctl --since="2021-07-01" --until="2021-07-31 03:00"

5、查看日志占用空间大小

journalctl --disk-usage

注意事项: journal日志不会将程序输出的空行显示,日志会被压缩得满满当当。journal日志不会自动持久化,重启系统后,历史日志将被清除。可参考journal日志持久化配置。

posted @ 2024-08-21 07:10  NotReferenced  阅读(3)  评论(0编辑  收藏  举报