发布于 

journal日志文件清理与优化

rsyslog 和 systemd-journal日志服务

CentOS系统中有两个日志服务,分别是传统的 rsyslog 和 systemd-journal

systemd-journald是一个改进型日志管理服务,可以收集来自内核、系统早期启动阶段的日志、系统守护进程在启动和运行中的标准输出和错误信息,还有syslog的日志。

该日志服务仅仅把日志集中保存在单一结构的日志文件/run/log中,由于日志是经历过压缩和格式化的二进制数据,所以在查看和定位的时候很迅速。

默认情况下并不会持久化保存日志,只会保留一个月的日志。另外,一些rsyslog无法收集的日志也会被journal记录到。

rsyslog作为传统的系统日志服务,把所有收集到的日志都记录到/var/log/目录下的各个日志文件中。

常见的日志文件如下:

路径 介绍
/var/log/messages 绝大多数的系统日志都记录到该文件
/var/log/secure 所有跟安全和认证授权等日志都会记录到此文件
/var/log/maillog 邮件服务的日志
/var/log/cron crond 计划任务的日志
/var/log/boot.log 系统启动的相关日志

journalctl 命令自动维护文件大小

1.只保留近一周的日志

journalctl --vacuum-time=1w

2.只保留500MB的日志

journalctl --vacuum-size=500M

3.直接删除 /var/log/journal/ 目录下的日志文件

rm -rf /var/log/journal/0658db23810f487f924687e95fbc3c34

journal日志文件损坏修复

1.先删除日志文件

rm -rf /var/log/journal/0658db23810f487f924687e95fbc3c34

2.重启服务

systemctl restart systemd-journald.service