2.3. 查看日志的命令
您可以使用 Journal 查看和管理日志文件,这是 systemd
的一个组件。它解决了与传统日志记录相关的问题,与系统的其余部分紧密集成,并支持各种日志记录技术以及日志文件的访问管理。
您可以使用 journalctl
命令查看系统日志中的信息,例如:
journalctl -b | grep kvm
$ journalctl -b | grep kvm
May 15 11:31:41 localhost.localdomain kernel: kvm-clock: Using msrs 4b564d01 and 4b564d00
May 15 11:31:41 localhost.localdomain kernel: kvm-clock: cpu 0, msr 76401001, primary cpu clock
查看系统信息
journalctl
- 显示所有收集的日志条目。
journalctl FILEPATH
-
显示与特定文件相关的日志。例如:
journalctl /dev/sda
命令显示与/dev/sda
文件系统相关的日志。 journalctl -b
- 显示当前引导的日志。
journalctl -k -b -1
- 显示当前引导的内核日志。
查看有关特定服务的信息
journalctl -b _SYSTEMD_UNIT=<name.service>
-
过滤日志以显示与
systemd
服务匹配的条目。 journalctl -b _SYSTEMD_UNIT=<name.service> _PID=<number>
-
合并匹配。例如,这个命令显示与
<name.service>
和 PID<number>
匹配的systemd-units
的日志。 journalctl -b _SYSTEMD_UNIT=<name.service> _PID=<number> + _SYSTEMD_UNIT=<name2.service>
-
加号(+)分隔符将两个表达式按逻辑 OR 组合在一起。例如,这个命令显示来自带有
PID
的<name.service>
服务进程的所有消息,加上来自<name2.service>
服务(来自其任何进程)的所有消息。 journalctl -b _SYSTEMD_UNIT=<name.service> _SYSTEMD_UNIT=<name2.service>
-
此命令显示与引用同一字段的任一表达式匹配的所有条目。在这里,这个命令会显示与 systemd-unit
<name.service>
或 systemd-unit<name2.service>
匹配的日志。
查看与特定引导相关的日志
journalctl --list-boots
- 显示引导号、其 ID 以及与引导相关的第一条和最后一个消息的时间戳列表。您可以在下一个命令中使用 ID 来查看详细信息。
journalctl --boot=ID _SYSTEMD_UNIT=<name.service>
- 显示有关指定的引导 ID 的信息。