首页 > 资讯 > LVS健康检查脚本

LVS健康检查脚本

#!/bin/bash #============================================================================= VIP=10.10.10.100 #集群虚拟IP CPORT=80 #定义集群端口 FAIL_BACK=127.0.0.1 #本机回环地址 RS=("10.10.10.12" "10.10.10.13") #编写集群地址 declare -a RSSTATUS #变量RSSTATUS定义为数组态 RW=("2" "1") RPORT=80 #定义集群端口 TYPE=g #制定LVS工作模式:g=DR m=NAT CHKLOOP=3 LOG=/var/log/ipvsmonitor.log #============================================================================= addrs() { ipvsadm -a -t $VIP:$CPORT -r $1:$RPORT -$TYPE -w $2 [ $? -eq 0 ] && return 0 || return 1 } delrs() { ipvsadm -d -t $VIP:$CPORT -r $1:$RPORT [ $? -eq 0 ] && return 0 || return 1 } checkrs() { local I=1 while [ $I -le $CHKLOOP ] do if curl --connect-timeout 1 http://$1 &> /dev/null then return 0 fi let I++ done return 1 } initstatus() { local I local COUNT=0; for I in ${RS[*]} do if ipvsadm -L -n | grep "$I:$RPORT" && > /dev/null then RSSTATUS[$COUNT]=1 else RSSTATUS[$COUNT]=0 fi let COUNT++ done } #============================================================================= initstatus while :; do let COUNT=0 for I in ${RS[*]} do if checkrs $I then if [ ${RSSTATUS[$COUNT]} -eq 0 ] then addrs $I ${RW[$COUNT]} [ $? -eq 0 ] && RSSTATUS[$COUNT]=1 && echo "`date +'%F %H:%M:%S'`, $I is back." >> $LOG fi else if [ ${RSSTATUS[$COUNT]} -eq 1 ] then delrs $I [ $? -eq 0 ] && RSSTATUS[$COUNT]=0 && echo "`date +'%F %H:%M:%S'`, $I is gone." >> $LOG fi fi let COUNT++ done sleep 5 done

相关知识

lvs+keepalived自定义健康检查脚本(MISC
在Linux中,keepalive工作原理是什么及如何做到健康检查?
健康检查配置
健康检查证明书样本
日本体检最贴心的检查:日本乳腺检查
儿童健康基本情况检查表
为本地IDC和VBR配置健康检查
办健康证肠道检查样本有大便
身体健康 自我检查
持健康证工作证明样本(如何?检查)

网址: LVS健康检查脚本 https://m.trfsz.com/newsview1167138.html