您的位置:首页 > 运维架构 > Shell

shell 4

2020-06-20 21:52 696 查看

监控nginx 脚本,每20秒监测一次,如果进程数多于1000,重启nginx服务,重启5次失败后通知管理员,如果重启成功一分种后,进程数还是大于1000,通知运维

#!/bin/bash
d=`date`
c=`pgrep -l nginx | wc -l`
check_nginx()
{
for  ((i=1;i<=5;i++))
do
/usr/local/nginx/sbin/nginx   2> /tmp/nginx.log
if [ $? -eq 0 ]
then
echo "${d}nginx 重启${i}次成功" | mail -s "nginx 进程监控" 383xxxxx@qq.com
break
fi
done
}
while :
do
if [ c -gt 1000 ]
then
check_nginx
if [ $i -eq 5 ]
then
echo "${d}nginx 5次重启失败,请登录服务器处理" | mail  -s "nginx 进程监控" 383xxxxxx@qq.com
exit
else
sleep 60
c1=`pgrep -l nginx | wc -l`
if [ c1 -gt 1000 ]
then
echo "${d}nginx重启后进行仍大于1000,请登录服务器处理" | mail -s "nginx 进程监控" 383xxxxx@qq.com
exit
fi
fi
fi
sleep 20
done
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: