执子之手

与子偕老


  • 首页

  • 分类

  • 归档

  • 标签

  • 关于

  • 搜索
close

Linux常用命令介绍 04 - journalctl

时间: 2020-04-20   |   分类: 运维     |   阅读: 905 字 ~2分钟   |   访问: 0

journalctl命令是Systemd日志系统的一个命令,主要用途是用来查看通过Systemd日志系统记录的日志。在Systemd出现之前,Linux系统及各应用的日志都是分别管理的,Systemd开始统一管理了所有Unit的启动日志,这样带来的好处就是可以只用一个 journalctl命令,查看所有内核和应用的日志。

1. 基础用法

1.1 查看所有日志

不用添加任何任何参数运行可以查看本次启动以来的所有日志。

1# 显示本次启动以来的全部日志
2journalctl 

1.2 查看内核日志

使用-k参数可以查看内核日志。

1# 显示内核日志
2journalctl -k

1.3 显示最后n行日志

使用-n参数可以显示最后n行日志,如果不指定行数,默认显示10行。

1# 显示最后10行日志
2journalctl -n
3# 显示最后100行日志
4journalctl -n 100

1.4 显示最近一段时间的日志

使用-S或--since参数:

1# 显示最近30分钟以来的日志
2journalctl --since="30 minutes ago"
3journalctl --since=-30m
4# 显示自2020-04-21 00:00:00以来的日志
5journalctl --since="2020-04-21"
6# 显示今天以来的日志
7journalctl --since=today

1.5 跟踪最近的日志

使用-f参数可以实现类型tail -f的功能,持续监控最新的日志:

1# 跟踪最近的日志
2journalctl -f

1.6 查看指定Unit的日志

使用-u参数,可以指定特定的unit(Systemd的概念,类似于服务)。例如:

1# 查看sshd的日志
2> journalctl -u sshd
3-- Logs begin at Tue 2019-11-12 20:18:40 CST, end at Fri 2020-04-17 17:45:01 CST. --
4-- No entries --

1.7 不进行分页显示

默认情况下,显示结果是进行分页显示的。可以使用-no-pager参数去掉分页功能。如果需要使用管道功能,去掉分页是非常有必要的。

2. 维护

2.1 查看日志占用的磁盘空间

使用--disk-usage参数。例如:

1# 查看日志占用的空间
2> journalctl --disk-usage
3Archived and active journals take up 560.0M in the file system.

2.2 按照占用空间清理日志

1> journalctl --disk-usage
2Archived and active journals take up 350.2M on disk.
3# 清理日志,保留300M的日志
4> journalctl --vacuum-size 200M
5Deleted archived journal /run/log/journal/f94ba353537a4b3f954e3e875225d5d1/system@3064ddfc68cd4fae887e5834914cdce8-000000000027a69c-0005a2067cb4d733.journal (48.8M).
6Deleted archived journal /run/log/journal/f94ba353537a4b3f954e3e875225d5d1/system@3064ddfc68cd4fae887e5834914cdce8-000000000028a54d-0005a21c57b95ba9.journal (48.8M).
7Deleted archived journal /run/log/journal/f94ba353537a4b3f954e3e875225d5d1/system@3064ddfc68cd4fae887e5834914cdce8-000000000029d3a2-0005a239670d6298.journal (48.8M).
8Vacuuming done, freed 146.6M of archived journals on disk.

2.3 按照日志时间清理日志

1# 清理一个周前的日志
2> journalctl --vacuum-time=1week
3Deleted archived journal /run/log/journal/f94ba353537a4b3f954e3e875225d5d1/system@3064ddfc68cd4fae887e5834914cdce8-00000000002b03ce-0005a258817ead63.journal (48.8M).
4Deleted archived journal /run/log/journal/f94ba353537a4b3f954e3e875225d5d1/system@3064ddfc68cd4fae887e5834914cdce8-00000000002c0f37-0005a2e4f7cb5b8f.journal (48.8M).
5Vacuuming done, freed 97.7M of archived journals on disk.

3. 配置

配置文件在/etc/systemd/journald.conf。可能会用到的配置项有:

1# 配置日志系统占用的最大空间。可以实现类似2.2的功能
2SystemMaxUse=500M
3# 定义单个日志文件的大小。最大128M
4SystemMaxFileSize=100M
5# 定义最大日志文件数目。最大100个
6SystemMaxFiles=5
7# 定义日志文件最多保存1个月
8MaxRetentionSec=1month
#Linux#
使用HttpServletRequestWrapper解决无法多次获取request Body的问题
Linux常用命令介绍 03 - tree
  • 文章目录
  • 站点概览
Orchidflower

Orchidflower

Do one thing at a time, and do well.

77 日志
6 分类
84 标签
GitHub 知乎 OSC 豆瓣
  • 1. 基础用法
    • 1.1 查看所有日志
    • 1.2 查看内核日志
    • 1.3 显示最后n行日志
    • 1.4 显示最近一段时间的日志
    • 1.5 跟踪最近的日志
    • 1.6 查看指定Unit的日志
    • 1.7 不进行分页显示
  • 2. 维护
    • 2.1 查看日志占用的磁盘空间
    • 2.2 按照占用空间清理日志
    • 2.3 按照日志时间清理日志
  • 3. 配置
© 2009 - 2024 执子之手
Powered by - Hugo v0.113.0
Theme by - NexT
ICP - 鲁ICP备17006463号-1
0%