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
相关推荐
lwx9148522 小时前
Linux-后台运行操作符&
linux·运维·服务器
mounter6252 小时前
深度解析 Linux 内核 devlink:从硬件控制到跨功能速率调度的演进
linux·运维·服务器·网络·内核
Armouy2 小时前
Nuxt.js 学习复盘:核心概念与实战要点
前端·javascript·学习
似水এ᭄往昔2 小时前
【Linux】--进程状态
linux·运维·服务器
小跘an吻纸2 小时前
linux系统搭建hadoop环境
linux·运维·hadoop
ZhaoJuFei2 小时前
React生态学习路线
前端·学习·react.js
石像鬼₧魂石2 小时前
ARL(资产灯塔)从 Docker 安装到部署启动 完整详细流程(复习专用)
运维·docker·容器
三万棵雪松2 小时前
【Linux 物联网网关主控系统-Linux主控部分(六)】
linux·物联网·嵌入式linux
IMPYLH2 小时前
Linux 的 id 命令
linux·运维·服务器·bash