温馨提示×

ubuntu syslog为何重启

小樊
58
2026-09-17 06:00:42
栏目: 智能运维

在 Ubuntu 上,syslog(通常是 rsyslog 或 syslog-ng)为什么会“重启”,常见原因可以分为几类。下面以最常见的 rsyslog 为例说明。


一、系统/服务自身正常重启

1. 系统重启或电源异常

  • 服务器重启、断电、崩溃
  • 云主机被迁移 / 宿主机重启

查看方式:

last reboot
uptime

2. rsyslog 服务被手动或脚本重启

sudo systemctl restart rsyslog

或 cron / ansible / puppet 等自动化工具触发

查看历史:

journalctl -u rsyslog

二、配置变更导致自动重启

3. 修改了 rsyslog 配置

  • 修改 /etc/rsyslog.conf
  • 修改 /etc/rsyslog.d/*.conf

很多管理工具会执行:

systemctl restart rsyslog

验证:

journalctl -u rsyslog | grep -i "config"

4. 日志轮转(logrotate)

Ubuntu 默认 logrotate 会:

  • 重命名日志
  • 向 rsyslog 发送 HUP 信号

示例:

/var/log/syslog {
    rotate 4
    weekly
    postrotate
        /usr/lib/rsyslog/rsyslog-rotate
    endscript
}

表现:

  • syslog “看起来像重启”
  • 实际是 reload,不是 stop/start

查看:

cat /var/lib/logrotate/status

三、系统资源或异常问题

5. rsyslog 崩溃 / OOM

  • 内存不足被 kill
  • 磁盘满
  • 插件错误或配置错误

查看:

journalctl -u rsyslog -p err
dmesg | grep -i kill

6. systemd 自动重启机制

如果 rsyslog 异常退出,systemd 可能自动拉起:

[Service]
Restart=on-failure

查看:

systemctl show rsyslog | grep Restart

四、安全或入侵相关(需警惕)

7. 被攻击或提权后清理日志

  • 攻击者重启 syslog 以:
    • 清空日志
    • 停止记录

检查:

journalctl -u rsyslog --since "2024-01-01"
last
ausearch -m USER_LOGIN

五、快速排查清单(推荐)

# 1. 看服务日志
journalctl -u rsyslog

# 2. 看系统启动时间
uptime
last reboot

# 3. 看是否配置变更
ls -l /etc/rsyslog.conf
ls -l /etc/rsyslog.d/

# 4. 看 logrotate
cat /etc/logrotate.d/rsyslog

六、总结一句话

Ubuntu 的 syslog 重启,绝大多数情况是:系统重启、配置变更、logrotate 触发 reload,或异常崩溃后被 systemd 拉起。

如果你能提供:

  • 具体时间
  • journalctl -u rsyslog 的输出
  • 是 restart 还是 reload

我可以帮你精准判断是哪一种原因。

0 踩