journal 垃圾日志清理 Linux教程 异常Bug



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

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

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

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


---常见的日志文件如下:

/var/log/messages      绝大多数的系统日志都记录到该文件

/var/log/secure          所有跟安全和认证授权等日志都会记录到此文件

/var/log/maillog       邮件服务的日志

/var/log/cron             crond计划任务的日志

/var/log/boot.log       系统启动的相关日志


---查看systemd-journal服务收集的日志大小

-查看每个日志文件的大小

du -h /var/log/journal/3c6ff97c6fbe4598b53fd04e08937468/* | sort -h

-查看日志文件总大小

journalctl --disk-usage


---清除日志文件

journalctl --vacuum-size=10M 

-命令清除/var/log/journal/3c6ff97c6fbe4598b53fd04e08937468下大于10M的文件,默

-认是不会清除 system.journal日志文件的,使用 echo "" > system.journal 清除日志


---使用journalctl 命令自动维护文件大小

- 只保留近一周的日志

journalctl --vacuum-time=1w

-只保存2天的日志,最大500M

journalctl --vacuum-time=2d

journalctl --vacuum-size=500M

journalctl --vacuum-time=1years

journalctl --vacuum-time=1month

-只保留500MB的日志

journalctl --vacuum-size=500M


---由于system.journal日志被systemd-journald服务占用,所以不能直接删除system.journal日志,如果需要删除,需要重启systemd-journald服务,文件才会被彻底删除

systemctl restart systemd-journald


---系统异常---

systemctl stop systemd-journald.socket

systemctl stop systemd-journald-dev-log.socket

systemctl stop systemd-journald

systemctl stop rsyslog.service

systemctl disable systemd-journald.socket

systemctl mask systemd-journald.socket

systemctl disable systemd-journald-dev-log.socket

systemctl mask systemd-journald-dev-log.socket

systemctl disable systemd-journald

systemctl mask systemd-journald



签名:这个人很懒,什么也没有留下!
最新回复 (0)
返回