LVS之RealServer健康检查脚本

该shell脚本通过url的方式检测RealServer的Http服务的运行状态,根据对应用服务运行状态的判断,可以将停止应用服务的RealServer从LVS列表中剔除,从而避免LVS将用户请教分发到停止应用服务的主机上。在RealServer的应用服务恢复时,可以将该主机添加到LVS列表中,LVS可以继续分发用户请求到该主机上。今天正值除夕,祝大家新的一年新年快乐,万事如意,马年幸福!

#!/bin/bash
VIP=192.168.0.150
RIP=(192.168.0.133
192.168.0.134
)
while true
do
for ((i=0;i<${#RIP[*]};i++))
do
wget --quiet --spider http://${RIP[i]}/index.html
  if [ `echo $?` -eq 0 ];then
  server_count=`/sbin/ipvsadm -Ln |grep -a 3 |awk -F[" "]+ '{print $3}'|cut -d ":" -f 1|grep ${RIP[i]}|wc -l`
  if [ $server_count -ne 1 ];then
  /sbin/ipvsadm -a -t $VIP:80 -r ${RIP[i]} > /dev/null 2>&1
  /sbin/ipvsadm-save > /dev/null 2>&1
  echo "${RIP[i]} web is running && add in LVS table"
  else
  echo "${RIP[i]} web is running && already in LVS table"
  fi
  else
  /sbin/ipvsadm -d -t $VIP:$80 -r ${RIP[i]} > /dev/null 2>&1
  /sbin/ipvsadm-save > /dev/null 2>&1
  echo "${RIP[i]} web is not running && already delete from LVS table"
  fi
done
sleep 10
done


你可能感兴趣的:(LVS,shell,健康检查)