journalctl [OPTIONS...] [MATCHES...]
描述
journalctl可用于查询systemd日志的内容,由systemd-journald.service模块提供。
如果不带参数调用,它将显示完整的日志内容,从最早收集的条目开始。
如果传递了一个或多个匹配参数,则过滤输出。匹配的格式为“FIELD = VALUE”,例如:“_SYSTEMD_UNIT = httpd.service”。
1、查看所有日志
$ journalctl
2、查看内核日志(不显示应用日志)
$ journalctl -k
3、查看系统本次启动的日志
$ journalctl -b
$ journalctl -b -0
4、查看上一次启动的日志(需更改设置)
$ journalctl -b -1
5、查看指定时间的日志
$ journalctl –since=”2012-10-30 18:17:16″
$ journalctl –since “20 min ago”
$ journalctl –since yesterday
$ journalctl –since “2015-01-10” –until “2015-01-11 03:00”
$ journalctl –since 09:00 –until “1 hour ago”
6、显示尾部的最新10行日志
$ journalctl -n
7、显示尾部指定行数的日志
$ journalctl -n 20
8、实时滚动显示最新日志
$ journalctl -f
9、查看指定服务的日志
$ journalctl /usr/lib/systemd/systemd
10、查看指定进程的日志
$ journalctl _PID=1
11、查看某个路径的脚本的日志
$ journalctl /usr/bin/bash
12、查看指定用户的日志
$ journalctl _UID=33 –since today
13、查看某个 Unit 的日志
$ journalctl -u nginx.service
$ journalctl -u nginx.service –since today
14、实时滚动显示某个 Unit 的最新日志
$ journalctl -u nginx.service -f
15、合并显示多个 Unit 的日志
$ journalctl -u nginx.service -u php-fpm.service –since today
16、查看指定优先级(及其以上级别)的日志,共有8级
# 0: emerg
# 1: alert
# 2: crit
# 3: err
# 4: warning
# 5: notice
# 6: info
# 7: debug
$ journalctl -p err -b
17、日志默认分页输出,–no-pager 改为正常的标准输出
$ journalctl –no-pager
18、以 JSON 格式(单行)输出
$ journalctl -b -u nginx.service -o json
19、以 JSON 格式(多行)输出,可读性更好
$ journalctl -b -u nginx.service -o json-pretty
20、显示日志占据的硬盘空间
$ journalctl –disk-usage
21、指定日志文件占据的最大空间
$ journalctl –vacuum-size=1G
22、指定日志文件保存多久
$ journalctl –vacuum-time=1years