在日常运维工作中,确保服务稳定运行至关重要。一款高效的Linux进程监控与自动重启脚本能够大幅减少因服务意外停止带来的损失。下面介绍一个简单实用的Shell脚本模板,帮助你轻松实现这一目标!🚀
首先,明确脚本的核心功能:实时检测指定进程是否正常运行。一旦发现目标进程未运行,立即执行重启操作,并记录日志以便后续排查问题。以下是脚本的基本逻辑:
1️⃣ 定义变量:设置需要监控的进程名称及启动命令。
2️⃣ 检查进程状态:通过`ps`或`pgrep`命令确认进程是否存在。
3️⃣ 判断与处理:若进程缺失,则调用启动命令恢复服务,并将事件记录到日志文件中。
4️⃣ 定时循环:使用`cron`任务或无限循环(如`while`)定期执行上述步骤。
例如,若要监控名为`nginx`的服务:
```bash
!/bin/bash
PROCESS="nginx"
LOG="/var/log/process_monitor.log"
if ! pgrep $PROCESS > /dev/null; then
echo "$(date): $PROCESS not running, restarting..." >> $LOG
systemctl start $PROCESS
fi
```
此外,建议为脚本添加邮件通知功能,当发生异常时及时告知管理员,进一步提升运维效率。💡
通过这样一个脚本,不仅能让系统更加健壮,还能显著降低人工干预频率,让运维工作更高效!🙌