温馨提示×

ubuntu syslog如何重启进程

小樊
47
2026-09-14 06:13:08
栏目: 智能运维

在 Ubuntu 中,syslog 本身不负责“重启进程”,它只是记录日志。但你可能是想问以下几种情况之一,我分别说明:


一、重启 syslog 服务本身(rsyslog)

Ubuntu 默认使用 rsyslog:

sudo systemctl restart rsyslog

查看状态:

sudo systemctl status rsyslog

二、通过 syslog 日志触发进程重启(监控日志)

如果你是想:当 syslog 中出现某种错误时,自动重启某个进程,常见做法有:

1. 使用 systemd 的 Restart 策略(推荐)

如果是 systemd 管理的服务:

sudo systemctl edit your-service

添加:

[Service]
Restart=on-failure
RestartSec=5

这样进程崩溃后会自动重启。


2. 使用 logwatch / swatch 监控 syslog 并重启

例如用 swatch:

sudo apt install swatch

配置监控 /var/log/syslog:

watchfor /ERROR/
  exec "systemctl restart your-service"

3. 用 cron + 脚本检查日志(简单粗暴)

#!/bin/bash
if grep -q "FATAL" /var/log/syslog; then
  systemctl restart your-service
fi

加入 crontab:

* * * * * /path/to/check.sh

三、你可能实际想问的:进程挂了怎么重启?

如果是普通进程(非 systemd):

用 supervisor(推荐)

sudo apt install supervisor

配置 /etc/supervisor/conf.d/your.conf:

[program:your-app]
command=/path/to/app
autostart=true
autorestart=true

四、如果你能补充一下

你可以告诉我:

  • 是 重启 rsyslog 服务?
  • 还是 根据 syslog 日志重启某个程序?
  • 还是 进程死了自动拉起?

我可以直接给你可复制的配置。

0 踩