systemd入门11:通过-b或boot参数来指定journalctl日志的时间

systemd入门11:通过-b或boot参数来指定journalctl日志的时间

首页角色扮演D.B.System更新时间:2024-04-29

我们之前的文章就有提到说:journal非常任劳任怨,不提任何要求。只要是经过它的日志,它都会照单全收。

所以只要磁盘空间足够,上个世纪的日志它都会给你保留。

时间一长,显然对于我们要经常查看日志的人来说,日志太多了,要找到真正对我们当前最有用的信息,往往花费的时间成本会比较高。不过 journalctl 也非常贴心地提供几个好用的工具,让我们在时间维度上,能够更有针对性地找到想要的日志。

先来聊聊第一个:--boot

参数:-b 即 --boot

万事开头难,man我最在行:

这个参数会在命令中,自动加入一个 "_BOOT_ID=" 的条件匹配,只有匹配成功的日志记录才会在结果中列出。

如果只加了参数,但是启动ID为空的话,比如下面这样,则默认指向本次启动所对应的日志。

journalctl -b

除了可以传入启动ID以外,参数的值还可以传偏移量。

说了半天启动ID,我怎么样才能知道启动ID是多少呢?

启动ID是由32个字符构成的字符串,可以通过这个命令获取:

journalctl --list-boots

左边第一列是相对于本次启动的逆序偏移,右边是32为字符构成的启动ID,再往右就是这行启动的起止时间。

我们以 ID:993610455a79421794ae82c6508848cc 这次启动为例,不要问为什么,问就是-8(富吧)吉利。

我们可以以这样几个方式去指定与这次启动相关的所有日志:

1、通过启动ID指定

journalctl -b 993610455a79421794ae82c6508848cc

2、通过偏移指定

journalctl -b -8

3、ID与偏移相结合的方式去指定,即给出的ID作为基准,去寻找相对于这次启动偏移的启动

journalctl -b f6af94d596594b87bcb967fdc4ae176f 1

注意结尾的 1,表示启动ID为f6af94d596594b87bcb967fdc4ae176f的这次启动,之后的一次启动。

你也可以 2, 3,-1,-2等等,以此类推。

与-n结合使用的时候,显示的结果怪怪的。

-n 即 --lines,指定了输出结果要展示几行。默认是展示最后10行。

偏移为 -8 的这次启动的起止时间分别是8月22日 和 8月27日。

但是,如果我们给出 -n 的参数,比如 5000 ,那就是说,我们希望展示这次启动的最后5000条日志。

journalctl -b -8 -n 5000

你会看到,输出的结果并不是 8月22日的日志,也不是8月27日的日志。而是8月26日的日志。

这是因为 -n 展示的是最近 5000 条数据,但是它展示的方式是正序的。所以,需要从8月27日最后一条日志,倒退5000条日志。拿这第5000条作为第一条展示输出。所以看到的前面几条都是前一天,也就是8月26日的。

如果想从8月27日开始看的话,我们可以加上 -r 参数,表示倒叙展示:

journalctl -b -8 -n 5000 -r

以上内容就是通过-b参数来指定日志时间进行展示查询的全部内容。

如果觉得以上内容对您有所帮助,请您长按点赞、评论、转发支持哦。

我们下期不见不散。

查看全文
大家还看了
也许喜欢
更多游戏

Copyright © 2024 妖气游戏网 www.17u1u.com All Rights Reserved