这是一个用于监测nginx运行状态的脚本,当nginx运行异常被结束掉之后,脚本会自动尝试重启nginx进程。
脚本适用于某些不太稳定的Linux系统分支或者其他奇葩状况的环境。
vim nginx_d.sh && chmod +x nginx_d.sh#!/bin/bash
#$$表示当前shell的pid号,需要过滤掉(防止当前shell脚本名字包含nginx的字符)
ps -ef|grep nginx|grep -vE "grep|$$" >/dev/null
#直接通过$?获取上一句shell执行的状态
if [ $? -eq 0 ];then
echo "Nginx is running"
else
#以下情况三选一就行了
# 1-适用于基于init的旧版本系统
service nginx restart
# 2-适用于基于sysv的新版本系统
systemctl restart nginx
# 3-适用啥都没写手动重启的方法
killall nginx && nginx
echo "Nginx is down,Starting..."
fi
评论 (0)