Linux:/var/log/journal 路径下文件不断增加导致根目录磁盘爆满

测试过程中发现一段时间后根目录的磁盘容易占满。经过排查发现是/var/log/journal路径下的日志文件不断增大

在 Ubuntu 中,/var/log/journal 路径是用于存储 systemd 日志的目录。具体来说,systemd 是现代 Linux 系统(包括 Ubuntu)用来管理系统服务、进程和日志记录的初始化系统,它会将系统和服务的日志信息记录到这个目录中。

主要特点:

1、日志存储方式:/var/log/journal 存储的是二进制格式的日志文件,而不像传统的文本日志(例如 /var/log/syslog)那样是可直接查看的文本文件。二进制格式提供了更高效的存储和检索方式。

2、日志文件的管理:这些日志文件是由 systemd-journald 服务管理的。它会自动根据配置来控制日志的大小和存储周期。

3、目录内容:在 /var/log/journal 中,你会看到一系列以 数字 命名的子目录,这些目录包含了按时间分隔的日志文件。每个日志文件通常有一个 .journal 扩展名。

4、日志查看工具:由于日志是以二进制格式存储的,你不能直接用普通文本编辑器查看它们。要查看这些日志,需要使用 journalctl 命令。比如:

bash 复制代码
journalctl

这会显示系统日志的内容,按时间顺序排列。你还可以通过一些选项来过滤日志,查看特定服务的日志,或者只查看最新的日志

5、日志的存储管理:systemd-journald 会根据配置文件(/etc/systemd/journald.conf)中的设置来管理日志文件的存储。例如,你可以设置最大日志文件大小、日志保留期限等。常见的配置项包括:

SystemMaxUse:日志最大使用空间。

SystemKeepFree:系统保留空间,确保不被日志占满。

MaxRetentionSec:日志的最大保留时间。

6、持久化与临时日志:

如果 /var/log/journal 目录存在,日志会被持久化存储。

如果该目录不存在,systemd 会默认将日志存储在内存中,重启后日志会丢失。

将/var/log/journal 目录下恶日志文件以可读的方式导出

bash 复制代码
sudo journalctl > all_logs.txt

这会将系统中的所有日志(包括 /var/log/journal 中的内容)导出到 all_logs.txt 文件中

治标不治本的方法:编辑/etc/systemd/journald.conf文件,修改日志最大使用空间的大小

bash 复制代码
[Journal]
#Storage=auto
#Compress=yes
#Seal=yes
#SplitMode=uid
#SyncIntervalSec=5m
#RateLimitIntervalSec=30s
#RateLimitBurst=10000
SystemMaxUse=300M       #journal 最大占用空间
#SystemKeepFree=
SystemMaxFileSize=10M   #单个 journal 文件最大大小
#SystemMaxFiles=100
相关推荐
lulukanshijie14 小时前
Packer 入门:自动化镜像构建工具
运维·其他·自动化
苦逼大学生被编程薄纱14 小时前
Ext 文件系统基础:Linux 存储基石入门(下)
linux·运维·服务器
Lumos_77714 小时前
Linux -- 进程
linux·运维·服务器
河阿里14 小时前
HTML5标准完全教学手册
前端·html·html5
吴声子夜歌14 小时前
Vue3——新语法
前端·javascript·vue.js
jiayong2314 小时前
第 36 课:任务详情抽屉快捷改状态
开发语言·前端·javascript·vue.js·学习
FFF_6345602314 小时前
通用 vue 页面 js 下载任何文件的方法
开发语言·前端·javascript
南境十里·墨染春水14 小时前
linux学习进展 进程间通讯——共享内存
linux·数据库·学习
光影少年14 小时前
中级前端需要会的东西都有那些?
前端·学习·前端框架
琢磨先生TT15 小时前
为什么很多后台系统功能不少,看起来却还是很廉价?
前端·vue.js·设计