在 Debian 里,syslog 本身不会“自己重启”,所谓“syslog 重启”通常是指 syslog 服务进程被重新启动(如 rsyslog、syslog-ng 或 syslogd)。常见原因可以分为以下几类:
确认方式:
last reboot
uptime
Debian 升级 rsyslog 等包时,会自动重启服务:
journalctl -u rsyslog
# 或
cat /var/log/dpkg.log | grep rsyslog
你会看到类似:
rsyslog: Restarting rsyslog service...
systemctl restart rsyslog
service rsyslog restart可能原因:
查看日志:
journalctl -u rsyslog
dmesg | grep rsyslog
如:
rsyslogd: imuxsock: error
rsyslogd terminated
如果 unit 配置里有:
Restart=always
syslog 一旦退出就会被立刻拉起。
查看:
systemctl cat rsyslog
Debian 默认:
/etc/logrotate.d/rsyslog
里面通常有:
postrotate
/usr/lib/rsyslog/rsyslog-rotate
endscript
这只是重打开日志文件,看起来像重启,但其实不一定重启进程。
检查:
crontab -l
history
# 1. 看服务日志
journalctl -u rsyslog --since "2024-01-01"
# 2. 看系统启动时间
last reboot
# 3. 看是否升级过
grep rsyslog /var/log/dpkg.log
# 4. 看是否有崩溃
dmesg | grep -i rsyslog
Debian 的 syslog 重启,90% 是:系统重启、软件升级、配置变更或 logrotate 导致的。
如果你愿意,可以把:
journalctl -u rsyslog
或 /var/log/syslog 中相关片段贴出来,我可以帮你精确定位原因。