温馨提示×

Debian syslog为何过大

小樊
49
2026-08-29 07:20:31
栏目: 智能运维

Debian 系统中 /var/log/syslog 文件过大,通常是日志记录未被合理限制某个服务异常输出大量日志导致的。下面按常见原因 → 排查方法 → 解决方案来说明。


一、常见原因

1. 未启用日志轮转(最常见)

Debian 默认使用 rsyslog + logrotate,但如果:

  • 没有安装 logrotate
  • logrotate 配置错误
  • 或 cron 未正常运行

syslog 就会一直增长。


2. 某个服务/程序疯狂写日志

常见于:

  • 网络服务(nginx、docker、ssh)
  • 守护进程出错(死循环、重连失败)
  • 定时任务(cron)报错
  • 防火墙(iptables/nftables)日志

例如:

sshd[1234]: error: ...
dockerd[5678]: ...

3. rsyslog 配置过“宽”

/etc/rsyslog.conf/etc/rsyslog.d/*.conf 中:

*.*   /var/log/syslog

导致所有级别日志全部写入 syslog


4. 系统长期未重启

老服务器几个月甚至几年不重启,日志不断累积。


5. systemd journal 与 rsyslog 同时启用

journal 本身也会记录日志,rsyslog 再写一份,造成“重复”。


二、快速排查方法

1️⃣ 查看 syslog 大小

ls -lh /var/log/syslog*

2️⃣ 查看最近日志(找异常)

tail -n 100 /var/log/syslog

或按时间:

journalctl -u ssh --since "1 hour ago"

3️⃣ 找出哪个服务在狂写日志

grep -o '[^ ]*: ' /var/log/syslog | sort | uniq -c | sort -nr | head

常见输出:

3000 sshd:
2000 dockerd:
1500 cron:

4️⃣ 查看 logrotate 是否正常

cat /etc/logrotate.d/rsyslog

应类似:

/var/log/syslog {
    rotate 7
    daily
    missingok
    notifempty
    delaycompress
    compress
    postrotate
        /usr/lib/rsyslog/rsyslog-rotate 2>/dev/null || true
    endscript
}

三、解决方案(推荐组合)

✅ 方案 1:立即清理并重启(急救)

sudo truncate -s 0 /var/log/syslog
sudo systemctl restart rsyslog

⚠️ 不是根本解决方案,只是临时止血


✅ 方案 2:修复 logrotate(最重要)

sudo apt install logrotate
sudo systemctl enable cron
sudo systemctl start cron

验证:

logrotate -d /etc/logrotate.conf

✅ 方案 3:限制 rsyslog 日志级别

避免记录 DEBUG / INFO 级别日志:

编辑:

sudo nano /etc/rsyslog.conf

改为:

*.warning;authpriv.none;cron.none   /var/log/syslog

重启:

sudo systemctl restart rsyslog

✅ 方案 4:限制 journal 日志大小(systemd)

sudo nano /etc/systemd/journald.conf

改为:

SystemMaxUse=200M
RuntimeMaxUse=100M

然后:

sudo systemctl restart systemd-journald

✅ 方案 5:针对异常服务单独处理

例如 SSH 暴力破解:

sudo apt install fail2ban

Docker 日志:

docker logs --tail 100 <container>

四、推荐的健康配置(总结)

✅ 使用 logrotate
✅ rsyslog 只记录 warning 以上
✅ journal 限制大小
✅ 定期检查异常服务
✅ 避免 cron / docker / ssh 错误刷屏


如果你愿意,可以把 最近 50 行 sysloglogrotate 配置贴出来,我可以帮你精准判断是哪一个原因。

0