使用journalctl显示系统日志文件
什么是journalctl?
从2012年开始,许多Linux发行版都从传统的System V
初始化系统转移到了一个名为systemd
的新系统。Systemd用于引导系统和管理进程。systemd中包含一个名为journalctl
的辅助组件,其主要目的是管理系统的事件记录。journalctl是一个系统实用程序,使您能够查询系统日志的内容。journalctl用于查看系统日志文件。默认情况下,该命令在不使用其他任何参数的情况下,将从收集的最早条目开始显示日记的全部内容。
当执行并执行journalctl命令而不附加任何参数时,将显示完整的日志。默认情况下,最老的条目首先显示。输出一次显示一个屏幕,但是,您可以使用光标键(箭头键)或通过按空格
键一次滚动整个页面来滚动输出。默认情况下,行被截断,但是,您可以使用箭头键来滚动左
和右
。
journalctl
如果不带其他参数,则所有输出都将首先显示最早的条目。
执行的命令:journalctl
-- Logs begin at Thu 2016-08-04 19:04:49 BST, end at Thu 2016-08-04 19:19:52 BST Aug 04 19:04:49 centos72m systemd-journal[90]: Runtime journal is using 8.0M (ma Aug 04 19:04:49 centos72m systemd-journal[90]: Runtime journal is using 8.0M (ma Aug 04 19:04:49 centos72m kernel: Initializing cgroup subsys cpuset
journalctl -r
当通过-r
参数传递journalctl
命令时。这指示系统以相反的顺序显示输出。
执行的命令:journalctl -r
-- Logs begin at Fri 2016-08-05 09:07:14 BST, end at Fri 2016-08-05 09:22:14 BST Aug 05 09:22:14 centos72m systemd[1]: Started Cleanup of Temporary Directories. Aug 05 09:22:14 centos72m systemd[1]: Starting Cleanup of Temporary Directories.
journalctl -f
实时显示日志
[root@centos72m ~]# journalctl -f -- Logs begin at Thu 2016-08-04 19:04:49 BST. -- Aug 04 20:01:01 centos72m CROND[1539]: (root) CMD (run-parts /etc/cron.hourly) Aug 04 20:01:01 centos72m run-parts(/etc/cron.hourly)[1542]: starting 0anacron Aug 04 20:01:02 centos72m anacron[1548]: Anacron started on 2016-08-04 Aug 04 20:01:02 centos72m run-parts(/etc/cron.hourly)[1550]: finished 0anacron
限制输出大小
-n
或--lines =
参数来限制显示的行数。
显示5行 journalctl -n 5
显示特定时间内的日志
使用--since
指定时间,格式为:YYYY-MM-DD HH:MM:SS
journalctl --since 1 hour ago
显示1小时前的日志
journalctl --since 3 days ago
显示3天前的日志
` journalctl --since "2016-08-04 20:00:00" --until "2016-08-04 20:15:00" 显示某个时间范围的日志
显示某个用户的事件日志
先使用id查看 UID 然后通过_UID过滤
$ id john # journalctl _UID=1000 -n 5
显示某个服务的事件日志
# journalctl -u httpd.service # journalctl -u httpd.service -u crond.service
显示启动信息
journalctl --list-boots journalctl -b
显示内核消息
journalctl –k journalctl –dmesg
启用持久日记
默认情况下,journalctl命令从内存中保存的文件或小型环形缓冲区中检索其信息。要启用持久性,首先您需要创建一个目录,在其中将存储日记帐。
# mkdir -p /var/log/journal # systemctl restart systemd-journald