journalctl查看内核/应用日志 一介凡人

Systemd统一管理所有Unit的启动日志。带来的好处就是,可以只用journalctl一个命令,查看所有日志(内核日志和应用日志)。日志的配置文件是/etc/systemd/journald.conf。该工具是从message这个文件里读取信息。

①查看所有日志

journalctl

②查看内核日志(不显示应用日志)

journalctl -k

③查看系统本次启动的日志

# 查看系统本次启动的日志
journalctl -b
journalctl -b  -0
# 查看上一次启动的日志
需更改设置,如上次系统崩溃,需要查看日志时,就要看上一次的启动日志。
journalctl -b -1

④查看指定时间的日志

journalctl --since="2018-10-3018:17:16"

journalctl --since "20 minago"

journalctl --since yesterday

journalctl --since "2020-09-23 22:50:00" --until "2020-09-23 23:20:00"

journalctl --since 09:00 --until"1 hour ago"

journalctl --since"15:15" --until now

⑤日志显示设置

# 显示尾部的最新10行日志
journalctl -n
# 显示尾部指定行数的日志
journalctl -n 20
# 实时滚动显示最新日志
journalctl -f
# 在标准输出中显示日志(默认情况下,journalctl 会在 pager 内显示输出结果)
journalctl -b -0 --no-pager

⑥查看某个Unit的日志

journalctl -u nginx.service
# 只显示今天的
journalctl -u nginx.service  --since  today
# 实时滚动显示
journalctl -u nginx.service  -f
# 合并显示多个Unit的日志
journalctl -u nginx.service  -u php-fpm.service  --since today

⑦指定用户的日志

journalctl _UID=33  --since today

⑧显示/清理日志存储设置

# 显示日志当前占用的硬盘空间
journalctl --disk-usage

# 可以按照日期清理,或者按照允许保留的容量清理
journalctl --vacuum-size=1G
journalctl --vacuum-time=1years

⑨指定日志输出格式

journalctl 能够以多种格式进行显示,只须添加 -o 选项即可。-o 选项支持的类型如下:

  • short:这是默认的格式,即经典的 syslog 输出格式。
  • short-iso: 与 short 类似,强调 ISO 8601 时间戳。
  • short-precise:与 short 类似,提供微秒级精度。
  • short-monotonic:与 short 类似,强调普通时间戳。
  • verbose:全部字段,包括通常被内部隐藏的字段。
  • export:传输或备份的二进制格式。
  • json:json 格式,每行一条记录。
  • json-pretty:阅读的 json 格式。
  • json-sse:经过包装可以兼容 server-sent 事件的 json 格式。
  • cat:只显示信息字段本身。
journalctl -u cron -n 1 --no-pager -o json-pretty
原文地址:https://www.cnblogs.com/zjz20/p/15708257.html