首页 Linux 🐧

journal 是 systemd 的一个组件,由 journald 处理。捕获系统日志信息、内核日志信息,以及来自原始 RAM 磁盘的信息,早期启动信息以及所有服务中写入 STDOUT 和 STDERR 数据流的信息。可以说是为 Linux 服务器打造的一种新系统日志方式,该日志服务仅仅把日志集中保存在单一结构的日志文件 /run/log 中,由于日志是经历过压缩和格式化的二进制数据,所以在查看和定位的时候很迅速。
默认情况下并不会持久化保存日志,只会保留一个月的日志。另外,一些 rsyslog 无法收集的日志也会被 journal 记录到。

查看占用

/var/log 目录下执行 du --max-depth=1 -h,可以看到有很多历史累积的日志,其中 /var/log/journal 占用了数G空间。

34M     ./audit
40K     ./anaconda
4.0K    ./qemu-ga
44K     ./zabbix
4.0K    ./ntpstats
4.0K    ./chrony
4.1G    ./journal
4.0K    ./rhsm
12K     ./tuned
4.1G    .

清理日志

检查当前journal使用磁盘量

journalctl --disk-usage
  1. 手动清理方式
    清理方法可以采用按照日期清理,或者按照允许保留的容量清理,只保存2天的日志,最大500M

    journalctl --vacuum-time=2d
    journalctl --vacuum-size=500M
  1. 限制日志持久化,达到自动清理
    要启用日志限制持久化配置,可以修改 /etc/systemd/journald.conf

    SystemMaxUse=100M

然后重启 journal 服务

systemctl restart systemd-journald.service

检查 journal 是否运行正常以及日志文件是否完整无损坏

journalctl --verify

附录

journald.conf 手册




文章评论