[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