https://onitroad.com 更多教程

journalctl 命令示例

1.首先显示最新的日志条目

  1. 使用 -r 选项首先显示最新的日志条目。
# journalctl -r
-- Logs begin at Mon 2017-05-22 10:34:28 IST, end at Tue 2017-11-14 11:31:37 IST. -
Nov 14 11:31:37 geeklab systemd[1]: Stopping user-5006.slice.
Nov 14 11:31:37 geeklab systemd[1]: Removed slice user-5006.slice.
Nov 14 11:31:37 geeklab systemd-logind[71377]: Removed session 59130.

2.显示最近日志条目的特定数量

使用 –n [number] 选项显示特定数量的最新日志条目。
以下示例显示三个最近的日志条目。

# journalctl -n 3
-- Logs begin at Mon 2017-05-22 10:34:28 IST, end at Tue 2017-11-14 11:40:08 IST. -
Nov 14 11:40:08 geeklab su[92886]: (to oracle) root on none
Nov 14 11:40:08 geeklab su[92886]: pam_unix(su-l:session): session opened for user oracle by (uid=0)
Nov 14 11:40:08 geeklab su[92886]: pam_unix(su-l:session): session closed for user oracle

3. 显示特定优先级的日志条目

使用 –p [priority] 选项仅显示特定 [priority] 的日志条目。
有效的优先级是 debug、info、notice、warning、err、crit、alert 和 emerg。
以下示例仅显示暴击日志条目。
具有 err 优先级和更高优先级的条目以红色显示。

# journalctl -p crit
-- Logs begin at Mon 2017-05-22 10:34:28 IST, end at Tue 2017-11-14 11:40:08 IST. -
Jan 22 10:35:55 geeklab logger[73478]: Starting agent
Jan 23 06:30:06 geeklab sudo[58493]:  hptools : parse error in /etc/sudoers near line 125 ; TTY=pts/0 ; PWD=/home/hptools ;
Jan 23 06:30:06 geeklab sudo[58498]:  hptools : parse error in /etc/sudoers near line 125 ; TTY=pts/0 ; PWD=/home/hptools ;

4. 仅显示特定 systemd 单元的日志条目

使用 –u [systemd_unit] 选项仅显示指定 systemd 单元的日志条目。
以下示例仅显示与 crond 单元关联的日志条目。

# journalctl -u ntpd
-- Logs begin at Mon 2017-05-22 10:34:28 IST, end at Tue 2017-11-14 12:01:40 IST. -
Jan 22 10:38:23 geeklab systemd[1]: Starting Network Time Service...
Jan 22 10:38:23 geeklab ntpd[124798]: ntpd 4.2.6p5@1.2349-o Tue Jan  3 14:43:00 UTC 2016 (1)
Jan 22 10:38:23 geeklab systemd[1]: Started Network Time Service.

5. 格式化输出

使用 –o [output_form] 选项格式化输出。
有效的输出格式是 short、short-iso、short-precise、short-monotonic、verbose、export、json、jsonpretty、json-see 和 cat。
有关输出格式的说明,请参阅 journalctl 手册页。
以下示例使用详细格式显示日志条目。

# journalctl -o verbose
-- Logs begin at Mon 2017-05-22 10:34:28 IST, end at Tue 2017-11-14 12:05:12 IST. -
Mon 2017-05-22 10:34:28.596388 IST [s=2eb4bc19c06148158649a58c85bf5ffd;i=1;b=20687e1fa4ce4c78a372ea44f064aa3c;m=26fb2c;t=55015ce4328a4;x=da00a88e8477
    PRIORITY=6
    _TRANSPORT=driver
    MESSAGE=Runtime journal is using 8.0M (max allowed 4.0G, trying to leave 4.0G free of 125.8G available → current limit 4.0G).
    MESSAGE_ID=ec387f577b844b8fa948f33cad9a75e6
    _PID=742
    _UID=0
    _GID=0
    _COMM=systemd-journal
    _EXE=/usr/lib/systemd/systemd-journald
    _CMDLINE=/usr/lib/systemd/systemd-journald
    _CAP_EFFECTIVE=5402800cf
    _SYSTEMD_CGROUP=/system.slice/systemd-journald.service
    _SYSTEMD_UNIT=systemd-journald.service
    _SYSTEMD_SLICE=system.slice
...

6. 组合选项

我们还可以根据需要组合上述示例中使用的各种选项。
例如,要显示最新的 3 个优先级为关键的日志条目,请使用以下命令。

]# journalctl -n 3 -p crit
-- Logs begin at Mon 2017-05-22 10:34:28 IST, end at Tue 2017-11-14 12:10:12 IST. -
Sep 07 04:35:29 geeklab sshd[21232]: fatal: Read from socket failed: Connection reset by peer [preauth]
Oct 26 19:39:33 geeklab sshd[34860]: fatal: Read from socket failed: Connection reset by peer [preauth]
Oct 26 19:39:34 geeklab sshd[34862]: fatal: Read from socket failed: Connection reset by peer [preauth]
CentOS/RHEL 7 journalctl 命令示例

使用 journalctl 命令查看日志日志。
默认情况下,列出的条目包括时间戳、主机名、执行操作的应用程序和实际消息。

# journalctl
-- Logs begin at ..., end at ...
[date_time] [host name] systemd-journal[65]: ...
...

命令的输出格式如下:
条目一次显示一页。

时间戳将转换为本地时区。

条目的优先级被明显标记。
错误优先级和更高的条目是红色的。
具有通知和警告优先级的条目以粗体显示。

引导过程的开始由一个特殊条目指示。

在不带任何选项或者参数的情况下运行 journalctl 命令时,将显示所有日志数据,包括轮换日志。
首先列出最旧的条目。
journalctl 命令有许多可用的选项。
下面给出了一些选项的示例。

日期:2020-09-17 00:12:50 来源:oir作者:oir