在 Debian 系统中,日志重复报错是一个比较常见的问题,原因通常可以分为几类。下面我按“常见原因 → 排查方法 → 解决思路”来说明。
Debian 默认使用:
/var/log/syslog)如果配置不当,同一条日志会被:
/dev/log 读一次✅ 表现:
/var/log/syslog 和 journalctl 内容重复✅ 排查:
journalctl -xe | tail
tail -n 50 /var/log/syslog
✅ 解决:
编辑 /etc/rsyslog.conf,避免重复读取:
# 注释或删除
# module(load="imjournal")
或反向(只用 journal,不用 rsyslog 重复读)
某些服务(如 cron、sshd、nginx):
✅ 表现:
/var/log/nginx/error.logjournalctl -u nginx
同时出现相同错误✅ 解决:
StandardOutput=null
StandardError=journal
如果:
可能出现:
✅ 排查:
ls -lh /var/log/
cat /etc/logrotate.d/rsyslog
✅ 解决:
logrotate -d /etc/logrotate.conf # 测试
logrotate -f /etc/logrotate.conf # 强制执行
如:
Restart=always✅ 表现:
✅ 排查:
systemctl status 服务名
journalctl -u 服务名 --since "10 min ago"
✅ 解决:
StartLimitIntervalSec=60
StartLimitBurst=3
例如:
✅ 排查:
ps aux | grep 服务名
systemctl list-units --type=service
# 看最近报错
journalctl -p err -n 50
# 对比 syslog
grep -i "关键字" /var/log/syslog
# 看来源
journalctl -o verbose | grep -i "SYSLOG_IDENTIFIER"
如果你愿意,可以贴出:
cat /etc/debian_version
我可以直接告诉你“是哪一类重复 + 怎么改配置”。