syslog、daemon.log 占用大量空间
今天突然发现服务器宕机了,本以为是调试的的脚本有问题
用下面命令查看发现是 /var 的占用太大了
1 | du -sh /* 2>/dev/null |
查看日志大小,后就判断是syslog、daemon.log 的问题
1 | ls -lh /var/log/ |
随后发现这一篇博文
里面告诉了解决方法,但是说的不详细,就去问了大模型
修改 /etc/rsyslog.conf 的日志级别来减少 syslog 和 daemon.log 的占用空间
1. 调整日志级别
原配置(Debian 默认):
1 | *.*;auth,authpriv.none -/var/log/syslog |
目标:将日志级别限制为 info 及以上(即不记录更低级别的 debug),从而减少日志量。
修改方法:
**对于
syslog**:1
*.=info;auth,authpriv.none -/var/log/syslog
此配置表示仅记录所有服务的
info级别日志(*.=info),并排除auth和authpriv的日志(auth,authpriv.none)。**对于
daemon.log**:1
daemon.=info -/var/log/daemon.log
此配置表示仅记录
daemon服务的info级别日志。如需记录更多,用下面的形式添加1
daemon.=info;daemon.err;daemon.warning;daemon.crit;daemon.alert;daemon.emerg -/var/log/daemon.log
2.保存文件后,重启 rsyslog 服务使配置生效:
1 | sudo systemctl restart rsyslog |
3. 补充优化方法
(1) 日志轮转(Logrotate)
通过 /etc/logrotate.conf 或 /etc/logrotate.d/rsyslog 配置日志切割策略,例如:
1 | /var/log/syslog |
此配置可避免单个日志文件过大
总结
通过限制日志级别(如仅记录 info 及以上)、配置日志轮转策略,可有效减少 syslog 和 daemon.log 的空间占用。若问题依然存在,需进一步排查是否有程序持续输出冗余日志或日志服务异常