journalctl 命令示例
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]
使用 journalctl 命令查看日志日志。
默认情况下,列出的条目包括时间戳、主机名、执行操作的应用程序和实际消息。
# journalctl -- Logs begin at ..., end at ... [date_time] [host name] systemd-journal[65]: ... ...
命令的输出格式如下:
条目一次显示一页。
时间戳将转换为本地时区。
条目的优先级被明显标记。
错误优先级和更高的条目是红色的。
具有通知和警告优先级的条目以粗体显示。
引导过程的开始由一个特殊条目指示。
在不带任何选项或者参数的情况下运行 journalctl 命令时,将显示所有日志数据,包括轮换日志。
首先列出最旧的条目。
journalctl 命令有许多可用的选项。
下面给出了一些选项的示例。