keepalived 检测脑裂切换脚本

本文介绍了一个使用Shell脚本来监控多个HTTP服务及MySQL数据库运行状态的例子。该脚本通过发送HTTP请求检查指定端口上的服务是否返回200 OK状态,并定期尝试连接数据库以确认其可用性。当检测到服务失败时,脚本会尝试重启服务并记录日志,如果连续多次重启失败,则通过邮件通知管理员并停止Keepalived服务。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#!/bin/bash

count=0
run1=`curl -I  192.168.30.12:8000 | grep "200 OK"  | wc -l`
run2=`curl -I  192.168.30.12:8020 | grep "200 OK"  | wc -l`
run3=`curl -I  192.168.30.12:8080 | grep "200 OK"  | wc -l`
run=$[$run1 + $run2 + $run3]


for (( k=0; k<10; k++ )) ; do
    /usr/bin/mysql -uroot -p'123456!' -h'192.168.30.21' -e "show databases;" > /dev/null
    if [ $? != 0 ];then
        echo "mysql faild !" >> /etc/keepalived/keepalived.log
        break
    fi
    if [ $run -ne 3 ] ; then
        sleep 2
        /etc/init.d/httpd start
        run1=`curl -I  192.168.30.12:8000 | grep "200 OK"  | wc -l`
        run2=`curl -I  192.168.30.12:8020 | grep "200 OK"  | wc -l`
        run3=`curl -I  192.168.30.12:8080 | grep "200 OK"  | wc -l`
        run=$[$run1 + $run2 + $run3]
        count=$(($count+1))
        echo "httpd start $count  faild !" >> /etc/keepalived/keepalived.log
    else
        #echo "httpd start $count  ok !" >> /etc/keepalived/keepalived.log
        break
    fi
    if [ "$count" == "9" ]; then
        /etc/init.d/keepalived stop
        echo “192.168.30.12 keepalived changed” | mail -s "keepalived changd" team_cloud_service@syberos.com
        echo "keepalived change !" >> /etc/keepalived/keepalived.log
        break
    fi
done

 

转载于:https://www.cnblogs.com/wangmo/p/9078209.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值