Journal 命令
开启持久化日志记录
创建持久化目录
sudo mkdir -p /var/log/journal
sudo systemd-tmpfiles --create --prefix /var/log/journal
配置 journald
编辑配置文件:
sudo nvim /etc/systemd/journald.conf
修改或者添加以下内容。
[Journal]
Storage=persistent # 开启持久化
Compress=yes # 启用日志压缩,节省空间
SystemMaxUse=2G # 系统日志最多占用 2GB(可根据需要调整)
SystemKeepFree=50M # 保留至少 50MB 空闲空间
SystemMaxFileSize=200M # 单个日志文件最大 200MB
SystemMaxFiles=50 # 保留最多 50 个文件
MaxRetentionSec=30d # 最多保留 30 天的日志
解释:
- SystemKeepFree 表示如果没有达到 SystemMaxUse 的使用量,也会为系统保留的空间大小。
Compress=yes可节省 50-70%的空间。- 如果希望更加长期保留日志文件,可以适当增大
SystemMaxUse或者MaxRetentionSec。
重启 journald
sudo systemctl restart systemd-journald
验证
journalctl --disk-usage # 查看日志占用空间
journalctl --list-boots # 查看已记录的启动信息
ls -lh /var/log/journal
配置完成后,即可开启持久化日志,并且控制日志不会无限占满系统盘。
关闭持久化日志
关闭journalctl持久化日志,也就是让日志只存内容(关机后清空),可以按照以下步骤操作:
修改配置文件
编辑 journald 配置:
sudo nvim /etc/systemd/journald.conf
找到:
Storage=persistent
改为:
Storage=volatile
说明:
volatile,只存在内存(/run/log/journal),关机后清空。auto,如果/var/log/journal存在则持久化,否则只存在内容。persistent,永久保存到/var/log/journal。
删除已有持久化日志
sudo rm -rf /var/log/journal/*
重启 journald
sudo systemctl restart systemd-journald
验证
ls -l /var/log/journal
如果目录为空或者不存在日志文件,就说明已经回到内存存储模式。