日志管理journalctl
Systemd 统一管理所有Unit 的启动日志,带来的好处就是,可以只用journalvtl 一个命令,查看所有日志,包括内核日志和应用日志,日志的配置文件是/etc/systemd/journald.conf
journalctl功能强大,用法非常多
- 查看所有日志,(默认情况下,只保存本次启动的日志): sudo journalctl
- 查看内核日志,不显示应用日志: sudo journalctl -k
- 查看系统本次启动的日志: sudo journalctl -b 或者 sudo journalctl -b 0
- 查看上一次启动的日志(需要更改配置): sudo journalctl -b 1
- 查看指定时间的日志: sudo journalctl --since=“2019-10-30 18:32:36” 或者 sudo journalctl --since=" 20 min ago "或者 sudo journalctl --sincre yesterday
查看时间段的日志 sudo journalctl --since=“2019-11-10” --until "2019-11-11 03:00"或者 sudo journalctl --since 09:00 --until "1 hour ago " - 显示尾部的最新十行日志: sudo journalctl -n
显示尾部指定行数的日志 :sudo journalctl -n 20 - 实时滚动显示最新的日志 : sudo journalctl -f
- 查看指定服务的日志 :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.server 或者sudo journalctl -u nginx.server --since today
- 实时滚动显示某个unit的最新日志:sudo journalctl -u nginx.server -f
- 合并显示多个unit的日志 sudo journalctl -u nginx.server -u pho-fpm.server --since today
- 查看指定优先级(及其以上级别)的日志:共有八级 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.server -o json-pretty
- 显示日志文件占据的硬盘空间: sudo journalctl --disk-usage
- 指定日志文件占据的最大空间 : sudo journalctl --vacuum-size=1G
- 指定日志文件保存多久: sudo journalctl --vacuum-time=1years