该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
本文出自 “吾在庐山” 博客,请务必保留此出处http://147546.blog.51cto.com/137546/1355371