journalctl#日志控制命令

journalctl #日志控制命令

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

journalctl [OPTIONS] [MATCHES]

  1. OPTIONS
    1. -u #显示指定的unit的日志信息
    2. -f #实时更新
    3. --since TIME --unitl TIME #设置输出日志信息的开始与结束时间
  2. EXAMPLE
    1. journalctl -u sshd.service -f #实时查看sshd服务的日志信息
    2. journalctl --since "2018-11-13" --until "2018-11-14 03:00" #

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

$ sudo journalctl

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

$ sudo journalctl -k

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

$ sudo journalctl -b

$ sudo journalctl -b -0

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

$ sudo journalctl -b -1

# 查看指定时间的日志

$ sudo journalctl --since="2012-10-30 18:17:16"

$ sudo journalctl --since "20 min ago"

$ sudo journalctl --since yesterday

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

# 显示尾部的最新10行日志

$ sudo journalctl -n

# 显示尾部指定行数的日志

$ sudo journalctl -n 20

# 查看指定服务的日志

$ sudo journalctl /usr/lib/systemd/systemd

# 查看指定进程的日志

$ sudo journalctl _PID=1

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

$ sudo journalctl /usr/bin/bash

# 查看指定用户的日志

$ sudo journalctl _UID=33 --since today

# 查看某个 Unit 的日志

$ sudo journalctl -u nginx.service

$ sudo journalctl -u nginx.service --since today

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

$ sudo journalctl -u nginx.service -f

# 合并显示多个 Unit 的日志

$ 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

$ sudo journalctl -p err -b

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

$ sudo journalctl --no-pager

# 以 JSON 格式(单行)输出

$ sudo journalctl -b -u nginx.service -o json

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

$ sudo journalctl -b -u nginx.serviceqq

-o json-pretty

# 显示日志占据的硬盘空间

$ sudo journalctl --disk-usage

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

$ sudo journalctl --vacuum-size=1G

# 指定日志文件保存多久

$ sudo journalctl --vacuum-time=1years

猜你喜欢

转载自www.cnblogs.com/Forsake-dream/p/9980699.html