检查nginx后端real server脚本,实现发现宕机剔除,恢复服务自动加入功能

#!/bin/bash
#Author: Liang WeiCheng

ip_array=($(grep "server 10.112.84" /etc/nginx/nginx.conf |awk '{print $2}'))
while true
do
        ##对当前负载均衡的所有节点挨个检查
    for((i=0;i<${#ip_array[*]};i++))
    do
         egrep "^#.*${ip_array[$i]}.*" /etc/nginx/nginx.conf &>/dev/null         

         [ $? -eq 0 ] && continue

         status=`curl -s -w "%{http_code}" -o /dev/null ${ip_array[$i]}`

         if [ ${status} -ne 200 ]
             then
              sed -i "s/server ${ip_array[$i]}/#server ${ip_array[$i]}/g" /etc/nginx/nginx.conf
              /usr/sbin/nginx  -s reload

         fi
    done
        
        sleep 5
        for((i=0;i<${#ip_array[*]};i++))
        do
                     a=`curl -s -w "%{http_code}" -o /dev/null ${ip_array[$i]}`

                 if [ ${a} -eq 200 ];then
                  egrep "^#.*${ip_array[$i]}.*" /etc/nginx/nginx.conf &>/dev/nullif [ $? -eq 0 ];then
                   sed -i -r "s/#(.*${ip_array[$i]}.*)/\1/g" /etc/nginx/nginx.conf
                   /usr/sbin/nginx -s reload

                  fi
                  fi
        done
done

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值