linux的/var/log/journal 日志清理方法教程

2023-10-11 网络技术 0

简单来说 /var/log/journal 下面的日志是由systemd记录写入的日志,有时候该目录会占用比较多的空间,可以通过命令:journalctl --disk-usage 或 du -sh /var/log/journal/ 查看空间占用情况,也可以使用 journalctl 命令查看具体的日志信息。
清理方法比较简单
1、指定日志的大小
journalctl --vacuum-size=100M
日志指定100MB,超过的就删除
2、指定保存时间
journalctl --vacuum-time=10d
10d为10天,1w为一周
以上为手动清理
如果要自动清理的话需要 编辑 /etc/systemd/journald.conf 文件 添加 SystemMaxUse=100M 可以指定日志大小超过100MB就自动清理
修改保存完执行: systemctl restart systemd-journald 重启生效。

可以编写shell脚本自动配置:

if [[ -f /etc/systemd/journald.conf ]]; then
    echo "modify journald"
    if [[ $(cat /etc/systemd/journald.conf | grep "SystemMaxUse" | grep -v "grep") ]]; then
    sed -i -r "s/^#*\s*SystemMaxUse\s*=.*$/SystemMaxUse=100M/g" /etc/systemd/journald.conf
    else
    echo "SystemMaxUse=100M" >>/etc/systemd/journald.conf
    fi
fi