Systemd-journalctl日志管理

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

journalctl用法

查看所有日志(默认情况下 ,只保存本次启动的日志)

  1. journalctl

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

  1. journalctl -k

查看系统本次启动的日志

  1. journalctl -b
  2. journalctl -b -0

查看上一次启动的日志(需更改设置)

  1. journalctl -b -1

查看指定时间的日志

  1. journalctl --since="2017-10-30 18:10:30"
  2. journalctl --since "20 min ago"
  3. journalctl --since yesterday
  4. journalctl --since "2017-01-10" --until "2017-01-11 03:00"
  5. journalctl --since 09:00 --until "1 hour ago"

显示尾部的最新10行日志

  1. journalctl -n

显示尾部指定行数的日志

  1. journalctl -n 20

实时滚动显示最新日志

  1. journalctl -f

查看指定服务的日志

  1. journalctl /usr/lib/systemd/systemd

查看指定进程的日志

  1. journalctl _PID=1

查看某个路径的脚本的日志

  1. journalctl /usr/bin/bash

查看指定用户的日志

  1. journalctl _UID=33 --since today

查看某个 Unit 的日志

  1. journalctl -u nginx.service
  2. journalctl -u nginx.service --since today

实时滚动显示某个 Unit 的最新日志

  1. journalctl -u nginx.service -f

合并显示多个 Unit 的日志

  1. journalctl -u nginx.service -u php-fpm.service --since today

查看指定优先级(及其以上级别)的日志,共有8级
0: emerg
1: alert
2: crit
3: err
4: warning
5: notice
6: info
7: debug

  1. journalctl -p err -b

日志默认分页输出,–no-pager 改为正常的标准输出

  1. journalctl --no-pager

以 JSON 格式(单行)输出

  1. journalctl -b -u nginx.service -o json

以 JSON 格式(多行)输出,可读性更好

  1. journalctl -b -u nginx.serviceqq -o json-pretty

显示日志占据的硬盘空间

  1. journalctl --disk-usage

指定日志文件占据的最大空间

  1. journalctl --vacuum-size=1G

指定日志文件保存多久

    1. journalctl --vacuum-time=1years
posted @ 2018-02-28 21:23  莫孟林  阅读(375)  评论(0编辑  收藏  举报