最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
Journalctl 日志持久化设置:怎样配置存储策略与容量限制
时间:2026-07-26 08:28:58 编辑:袖梨 来源:一聚教程网
关键在两步:一是创建/var/log/journal目录并设为root:systemd-journal归属和2755权限,二是配置journald.conf中Storage=persistent、SystemMaxUse=2G、MaxRetentionSec=2week等参数,重启服务后通过journalctl --disk-usage和--list-boots验证落盘与跨重启可用。
要让 journalctl 日志重启不丢、长期可用,又不把磁盘撑爆,关键在两步:一是启用持久化存储路径,二是设好容量和时间上限。光改配置文件不够,目录权限和生效验证缺一不可。
创建并初始化持久化日志目录
systemd-journald 不会自动创建 /var/log/journal,必须手动建立并赋予正确权限,否则服务会静默退回到内存模式(/run/log/journal),导致重启后日志消失。
- 创建目录:
sudo mkdir -p /var/log/journal - 设置归属组(必须是
systemd-journal):sudo chown root:systemd-journal /var/log/journal - 设置 setgid 权限(确保新生成的子目录继承组):
sudo chmod 2755 /var/log/journal - 用 systemd-tmpfiles 补全权限策略(更稳妥):
sudo systemd-tmpfiles --create --prefix /var/log/journal
配置 journald.conf 存储策略
编辑 /etc/systemd/journald.conf,在 [Journal] 小节中明确启用持久化并开启压缩:
-
Storage=persistent(不要依赖auto,避免目录误删后降级) -
Compress=yes(默认用 LZ4,节省约 70% 空间) -
ForwardToSyslog=no(除非你真需要转发到 rsyslog,否则关掉减少冗余)
保存后重启服务:sudo systemctl restart systemd-journald
设置磁盘空间与保留周期限制
持久化后日志会持续增长,必须限制总量、单文件大小和保留时长。推荐组合使用以下参数(全部加在 [Journal] 下):
-
SystemMaxUse=2G:所有持久化日志总大小上限(建议 1–4G) -
SystemKeepFree=3G:强制保留至少 3G 空闲空间,防系统卡死 -
MaxRetentionSec=2week:日志最长保留 2 周(支持1d、30d、6months等) -
MaxFileSec=1d:单个日志文件最多存 1 天(利于轮转和清理) -
SystemMaxFileSize=100M:单个文件最大 100MB,防单文件过大难处理
改完配置同样需执行 sudo systemctl restart systemd-journald 生效。
验证是否真正生效
别只看配置文件,要确认日志已落盘且跨重启可用:
- 查用量:
journalctl --disk-usage—— 输出应显示 “in the file system”,且路径含/var/log/journal - 查启动记录:
journalctl --list-boots—— 应列出多个 boot ID,说明历史周期日志已保存 - 查物理文件:
ls -lh /var/log/journal/*/system.journal—— 应看到非空的二进制 .journal 文件 - 写测试日志后重启:
logger "test-persist-$(date)"; sudo reboot,重启后运行journalctl -n 5确认该条存在
相关文章
- 梦幻西游凌波城109级装备搭配 07-28
- 三角洲行动仿星器控制室位于何处 07-28
- 三角洲行动压水堆服务器室在何处 07-28
- 三角洲行动铁路通道何处 07-28
- 三角洲行动托卡马克数据中心在哪 07-28
- 三角洲行动后处理厂机房何在 07-28