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
的空间占用。若问题依然存在,需进一步排查是否有程序持续输出冗余日志或日志服务异常