', 'auto'); ga('send', 'pageview'); 明明白白的赛特 – journalctl的使用

journalctl的使用

在 2024-02-28 发布于 linux系统 分类

大多数主要的Linux发行版都使用systemd来管理服务和系统组件。

systemd以二进制格式存储日志,因此常用的文本工具如grep, awk等无法正常使用。必须使用systemd自带的journalctl命令来查看日志。

因此,我们需要了解journalctl是如何工作的,以便能够在Linux系统上有效地检查日志。

启动记录列表

通常systemd记录的日志量很大,如果全部拿来分析就如大海捞针。好在一般定位系统问题,我们会把注意目标放在某次系统启动后运行期间。journalctl支持提取某次启动后运行产生的日志,这将极大的排除无关日志,减少我们查找日志的工作量。

列出启动记录

journalctl --list-boots

该命令将历次启动记录列出来,输出格式如下:

-15 09bad35d53484cc595030b120c85044a Fri 2023-12-15 12:49:16 CST—Fri 2023-12-15 12:51:17 CST
-14 cd417a2ec30f4e898ee532d86385f2a7 Tue 2023-12-19 10:06:33 CST—Tue 2023-12-19 10:07:49 CST
...
 -3 7ca8d1fdd1e44397a659b7b849eee23e Mon 2024-01-29 10:30:44 CST—Mon 2024-01-29 10:37:40 CST
 -2 01de1d085201423f92038bad673ae0cd Mon 2024-01-29 10:37:53 CST—Mon 2024-02-05 06:38:39 CST
 -1 89e00a7b41b04083b4e0c4c277ab8934 Mon 2024-02-05 06:54:10 CST—Wed 2024-02-07 07:40:33 CST
  0 912cda9aa04041d0952bf94df7bd6e7f Wed 2024-02-07 07:41:43 CST—Wed 2024-02-07 15:15:01 CST

第一列是对启动记录的编号,当前的启动记录是0,其余的都是负数,最早的启动记录编号是-15

查看特定启动记录期间的日志

journalctl -b

不带参数的-b选项表示当前启动记录

journalctl -b -1

查看前一次启动记录期间的日志。-b <启动记录编号>选项表示查看特定启动记录期间的日志。

过滤记录

--since/--until: 按照时间过滤

--unit: 按照UNIT过滤