Linux 系统垃圾日志清理

Linux 系统垃圾日志清理

CentOS系统中有两个日志服务,分别是传统的 rsyslog 和 systemd-journal
systemd-journald是一个改进型日志管理服务,可以收集来自内核、系统早期启动阶段的日志、系统守护进程在启动和运行中的标准输出和错误信息,还有syslog的日志。
systemd-journal 日志服务仅仅把日志集中保存在单一结构的日志文件/run/log中,由于日志是经历过压缩和格式化的二进制数据,所以在查看和定位的时候很迅速。
默认情况下并不会持久化保存日志,只会保留一个月的日志。

1. rsyslog日志

作为传统的系统日志服务,把所有收集到的日志都记录到/var/log/目录下的各个日志文件中。
此类日志默认保持1个月, 基本无需手工删除;

常见的日志文件如下:
/var/log/messages      绝大多数的系统日志都记录到该文件
/var/log/secure          所有跟安全和认证授权等日志都会记录到此文件
/var/log/maillog       邮件服务的日志
/var/log/cron             crond计划任务的日志
/var/log/boot.log       系统启动的相关日志
 
对于过大文件可以随便删除,

2. systemd-journal日志

a. 存放路径

一些rsyslog无法收集的日志也会被journal记录,存放路径:/var/log/journal
此类日志默认保持策略,一般情况下是固定大小。可以设置和改变

查看日志文件大小

[root@server41 log]# cd /var/log

[root@server41 log]# du -h --max-depth=1
8.0K	./tuned
380K	./pods
140K	./containers
44K	    ./nginx
4.0K	./chrony
52K	    ./acs
1.5M	./alicloud
4.0K	./rhsm
66M	    ./sa
40M	    ./audit
3.9G	./journal
4.0K	./anaconda
9.9G	.

b journalctl 命令自动维护文件大小

1)只保留近一周的日志
journalctl --vacuum-time=1w

2)只保留500MB的日志
journalctl --vacuum-size=500M

3)直接删除 /var/log/journal/ 目录下的日志文件
rm -rf /var/log/journal/f9d400c5e1e8c3a8209e990d887d4ac1

c  问题与分析解决

执行 journalctl 命令时报错:Error was encountered while opening journal files: Input/output error
# journalctl --vacuum-time=1w
Error was encountered while opening journal files: Input/output error
问题分析:日志文件损坏
解决方法:删除之前的日志,并重启 journalctl 服务

mv journal/f9d400c5e1e8c3a8209e990d887d4ac1 journal/f9d400c5e1e8c3a8209e990d887d4ac1_bk_20190122
systemctl restart systemd-journald.service
查看 /var/log/journal/ 日志目录如下:

# ll /var/log/journal/
drwxr-sr-x  2 root systemd-journal  4096 Jan 22 11:26 f9d400c5e1e8c3a8209e990d887d4ac1
drwxr-sr-x+ 2 root systemd-journal 12288 Jan 14 15:37 f9d400c5e1e8c3a8209e990d887d4ac1_bk_20190122
然后,再执行 journalctl 限制日志的命令:

# journalctl --vacuum-time=1w
Vacuuming done, freed 0B of archived journals on disk.
# journalctl --vacuum-size=500M
Vacuuming done, freed 0B of archived journals on disk.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值