22lvs 健康节点检查

复制代码
[root@lb03 scripts]# cat lvm_health_check.sh
#!/bin/bash

web_ip=(
10.0.0.17
10.0.0.18
)
# 检查恢复就添加节点
web_add (){
        i=$1
        echo "添加节点 $i"
        ipvsadm -a -t 10.0.0.13:80 -r ${i}:80 -g -w 1 

}

web_remove() {

        i=$1
        echo "删除节点 $i"

                ipvsadm -d -t 10.0.0.13:80 -r ${i}:80     



}


web_check (){
    for i in ${web_ip[@]}

    do
        #检查网站掉了
        web_count=$(nmap $i|grep "80/tcp    [o]pen"|wc -l)
        # lt 1小于1,说明网站掉了
        if [ ${web_count} -lt 1 ]
        then
            #检查本地节点是否还有这个ip,如果有就去除
            ipvs_count=$(ipvsadm -ln|grep $i|wc -l)
            #本地有就移除
            if [ ${ipvs_count} -eq 1 ]
            then
                web_remove $i        
            
            fi    

        else
             #大于1,网站正常
            ipvs_count=$(ipvsadm -ln|grep $i|wc -l)
                #本地没有就添加这个IP
                        if [ ${ipvs_count} -eq 0 ]
                        then
                                web_add $i
                        
                        fi

            

        fi
        

    done
    

}

while true
do

    web_check
    sleep 3

done
复制代码

 

posted @   滴滴滴  阅读(465)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示