#! /bin/sh # local ip : 192.168.1.239 [ -e nginx_ha.pid ] && kill -9 $(cat nginx_ha.pid) echo $$ > nginx_ha.pid bind_vip2() { ifconfig ${ifc}:ha2 $ha_vip2 netmask 255.255.255.0 up echo 'xx' } remove_vip1() { ifconfig ${ifc}:ha1 $ha_vip1 netmask 255.255.255.0 down echo 'bb' } ha_vip1="192.168.1.239" ha_vip2="192.168.1.237" ifc="eth0" ifconfig ${ifc}:ha1 $ha_vip1 netmask 255.255.255.0 up ifconfig ${ifc}:ha2 $ha_vip2 netmask 255.255.255.0 down do_vip1="N" do_vip2="N" while true do http_code_vip1=$(curl -o /dev/null -s -w %{http_code} http://$ha_vip1) http_code_vip2=$(curl -o /dev/null -s -w %{http_code} http://$ha_vip2) if [ $do_vip1 = "N" ] && [ $http_code_vip1 -ne 200 ]; then remove_vip1 do_vip1="Y" fi if [ $do_vip2 = "N" ] && [ $http_code_vip2 -ne 200 ]; then bind_vip2 do_vip2="Y" fi sleep 5 done