systemd-journald 日志系统的持久化日志文件,属于 Linux 系统的核心日志存储:
/var/log/journal
(你的路径是某个子目录,比如 2eaabde29fb446cb8202d9ac64d99f37
,这是系统的 Machine ID 对应的日志目录,每个机器唯一)。journalctl
查看)。system@877eebeb786d4c6085671c721a5c4799-00000000029b2b9e-00063c678a6aa066.journal
:
system
表示日志类型(系统日志,还有 user
表示用户日志);可以删,但不推荐手动直接删!
原因:
rm -rf
)可能导致 systemd-journald
服务异常(日志写入失败、数据不一致);正确的做法是用 journalctl
命令清理(这是 systemd 原生的日志管理工具,安全且不会破坏服务)。
journalctl
提供了 按大小清理 和 按时间清理 两种方式,操作后会自动通知服务刷新日志:
比如只保留1GB的日志(超过的部分自动删除最旧的):
bashsudo journalctl --vacuum-size=1G
1G
为其他单位(如 500M
、2G
),根据你的磁盘空间调整。比如只保留最近7天的日志:
bashsudo journalctl --vacuum-time=7d
7d
为其他时间(如 3d
、14d
、1month
)。如果需要彻底清空日志(比如测试环境):
bashsudo journalctl --rotate # 强制日志滚动(生成新的日志文件)
sudo journalctl --vacuum-time=1s # 保留最近1秒的日志(相当于清空)
为了避免日志再次堆积到几十GB,必须配置 systemd-journald
的自动清理策略。修改 /etc/systemd/journald.conf
文件:
编辑配置文件:
bashsudo vi /etc/systemd/journald.conf
修改以下参数(去掉注释 #
并设置值):
ini[Journal]
# 日志文件总大小上限(比如1GB)
SystemMaxUse=1G
# 单个日志文件大小上限(比如200MB)
MaxFileSize=200M
# 日志保留时间上限(比如7天)
MaxRetentionSec=7day
# 启用持久化日志(默认开启,若关闭会存在内存中,重启丢失)
Storage=persistent
重启服务生效:
bashsudo systemctl restart systemd-journald
清理后,可以用以下命令确认日志大小:
bash# 查看日志总大小
journalctl --disk-usage
# 查看日志文件列表
ls -lh /var/log/journal/$(cat /etc/machine-id)
journalctl
清理最安全;systemctl status systemd-journald
),确保日志写入正常。