自用shell脚本
#!/bin/bash
#2011-09-07 zhaoyun write
while [ 1 ]
do
NULL=/dev/null
status=`cat /etc/keepalived/keepalived.conf |grep state |awk '{print $2}'`
echo $status > .status
VIP=`cat /etc/keepalived/keepalived.conf |sed -n '15p' | awk -F/.* '{print $1}'`
INTERFACE=`cat /etc/keepalived/keepalived.conf |grep interface |awk '{print $2}'`
RUNTIME=3
TRUSTRUN=`nc -vv -z localhost 6443 2>$NULL ; echo $?`
LOADFILE=/ssl/bin/LoadBalance.config
FPAT=/ssl/bin/LoadBalance.config.bak
LOADFILEOK=`cat /etc/rc.local |grep /ssl/bin/LoadBalance.config >$NULL ; echo $?`
 if [ $LOADFILEOK -eq 1 ] ; then
sed -i '/touch/a\cp -rf /ssl/bin/LoadBalance.config.bak /ssl/bin/LoadBalance.config' /etc/rc.local
 fi
 
  if [ $TRUSTRUN -eq 0 ] ; then
              if [ -e $LOADFILE ] ; then
mv  $LOADFILE $FPAT
ipvsadm -C
              fi
time=`date +"%Y-%m-%d %H:%M:%S"`
status=`cat /etc/keepalived/keepalived.conf |grep state |awk '{print $2}'`
echo $status > .status
INTERFACE=`cat /etc/keepalived/keepalived.conf |grep interface |awk '{print $2}'`
NULL=/dev/null
LOG=/var/log/keepalived.log
BACKUP=`cat /ssl/bin/Vrrpd.config |grep PeerHost |awk -F'<PeerHost>' '{print $2}' |awk -F'</PeerHost>' '{print $1}'`
MASTER=`cat /ssl/bin/Vrrpd.config |grep PeerHost |awk -F'<PeerHost>' '{print $2}' |awk -F'</PeerHost>' '{print $1}'`
VIP=`cat /etc/keepalived/keepalived.conf |sed -n '15p' | awk -F/.* '{print $1}'`
STATA=`grep MASTER .status > $NULL ; echo $?`
STATB=`grep BACKUP .status > $NULL ; echo $?`
PID=`ps aux |grep "keepalived -D" | grep -v grep > $NULL ; echo $?`
touch .STA
A=`cat .STA`
PING="ping -c 3 -i 0.00000001 -w 1"
NC="nc -n -vv -z -w 1"
            if [ $PID -eq 0 ] ; then
              echo \ ; echo \ >>$LOG 
             echo $time keepalived - - - is - - - running @*****@>>$LOG
if [ $STATA -eq 0 ] ; then
IP=`ip add list |grep $VIP >$NULL ; echo $?`
SPORT=`nc -vv -z -w 1 localhost 443 2>$NULL ; echo $?`
       if [ $IP -eq 0 ] && [ $SPORT -eq 0 ]; then
time=`date +"%Y-%m-%d %H:%M:%S"`
              echo \ ; echo \ >>$LOG 
           echo $time   vip - - - is  - - -  OK !@!@!@!  >> $LOG
              echo \ ; echo \ >>$LOG 
           echo $time status - - -  is - - - MASTER >> $LOG
        else
           echo $INTERFACE |xargs ip addr add $VIP  dev
              echo \ ; echo \ >>$LOG 
           echo $time add $VIP for $INTERFACE to master ok ! >>$LOG
service keepalived restart
              echo \ ; echo \ >>$LOG 
echo $time  Sending gratuitous ARPs on $INTERFACE for $VIP >>$LOG
sleep 3
date +%s >.timea
       fi
STA=`$PING $BACKUP >$NULL  ; echo $? `
           echo $STA > .STA
         if [ $STA -eq 0 ] ; then
              echo \ ; echo \ >>$LOG 
           echo $time BACKUP - - -  is - - -  alive >> $LOG
                if [ $SPORT -eq 1 ] ; then
                    echo $INTERFACE |xargs ip addr del $VIP  dev
              echo \ ; echo \ >>$LOG 
                    echo $time remove $VIP for $INTERFACE in master ok ! >>$LOG
              echo \ ; echo \ >>$LOG 
                    echo $time  ssl_port --- is --- closed >> $LOG
              echo \ ; echo \ >>$LOG 
                fi
         fi
      if [ $A -gt 0 ] ; then
         service keepalived restart >$NULL
              echo \ ; echo \ >>$LOG 
echo $time Sending gratuitous ARPs on $INTERFACE for $VIP >>$LOG
sleep 3
date +%s >.timea      
      fi
OLDTIME=`cat .timea`
NOWTIME=`date +%s`
RTIME=`echo "$NOWTIME-$OLDTIME" | bc`
RETIME=115
       if [ $IP -eq 0 ] && [ $SPORT -eq 0 ]; then
          if [ $RTIME -gt $RETIME ] ; then
                 service keepalived restart
              echo \ ; echo \ >>$LOG 
echo $time Sending gratuitous ARPs on $INTERFACE for $VIP >>$LOG
sleep 3
date +%s >.timea
          fi
       fi
fi
#backup part
  if [ $STATB -eq 0 ] ; then
ROUTEID=`grep 51 /etc/keepalived/keepalived.conf >/dev/null ; echo $?`
          if [ $ROUTEID -eq 0 ] ; then
sed -i '5s/51/52/' /etc/keepalived/keepalived.conf
          fi
STB=`$PING  $MASTER  > $NULL ; echo $? `
IP=`ip add list |grep $VIP   >$NULL ; echo $?`
SSLPORT=`$NC  $MASTER 443 2>$NULL ; echo $?`
     if [ $STB -eq 0 ] && [ $SSLPORT -eq 0 ] ; then
time=`date +"%Y-%m-%d %H:%M:%S"`
              echo \ ; echo \ >>$LOG 
               echo $time MASTER - - -  is - - -  alived >> $LOG
              echo \ ; echo \ >>$LOG 
               echo $time status - - - is - - - BACKUP >> $LOG      
               echo 1 >.sta
             if [ $IP -eq 0 ] ; then
IPSTAT=`ip addr list |grep $VIP | wc -l `
         if  [ $IPSTAT -eq 2 ] ; then
                  echo $INTERFACE |xargs ip addr del $VIP dev 2>>$NULL
              echo \ ; echo \ >>$LOG 
                  echo $time  Remove $VIP for $INTERFACE in backup ok !  >>$LOG
         fi
             fi
     else      
ST=`cat .sta`
 if [ $ST -eq 1 ] ; then
service keepalived restart
              echo \ ; echo \ >>$LOG 
echo $time  Sending gratuitous ARPs on $INTERFACE for $VIP from backup 1 >>$LOG
echo 0 >.sta
 fi
        if [ $IP -eq 0 ] ; then
              echo \ ; echo \ >>$LOG 
           echo $time master - - - is - - -  shutdown >> $LOG
           echo $time   vip  - - -  is  - - -   ok >>$LOG
           echo $time  now -- status --  is --   MASTER >> $LOG
        else
time=`date +"%Y-%m-%d %H:%M:%S"`
              echo \ ; echo \ >>$LOG 
           echo $time "status is -------->>>>>>>  MASTER" >>$LOG
           echo $INTERFACE |xargs ip addr add $VIP  dev
           echo $time Add $VIP for $INTERFACE to backup ok 1 ! ! >>$LOG
service keepalived restart >$NULL
              echo \ ; echo \ >>$LOG 
echo $time  Sending gratuitous ARPs on $INTERFACE for $VIP from backup 2 >>$LOG
echo 0 >.sta
sleep 10    
        fi
     fi 
  fi
       else
time=`date +"%Y-%m-%d %H:%M:%S"`
IP=`ip add list |grep $VIP  >$NULL  ; echo $?`
       if [ $IP -eq 0 ] ; then
LINE=`wc -l $FPAT |awk '{print $1}'`
           if [ $LINE -gt 3 ] ; then
              echo \ ; echo \ >>$LOG 
             echo $time  Load balance - is -  running 1 >$NULL
             echo $time  keepalived  - - - not - - -  running 1 >>$LOG
           else
              echo \ ; echo \ >>$LOG 
             echo $INTERFACE |xargs ip addr del $VIP dev 2> $NULL
             echo $time  keepalived  - - - not - - -  running 2 >>$LOG
           fi
       else
          echo $INTERFACE |xargs ip addr del $VIP dev 2> $NULL
              echo \ ; echo \ >>$LOG 
         echo $time  keepalived  - - - not - - -  running  3 >>$LOG
       fi
fi
#loadbalance
LINE=`wc -l $FPAT |awk '{print $1}'`
           if [ $LINE -gt 3 ] ; then
time=`date +"%Y-%m-%d %H:%M:%S"`
              echo \ ; echo \ >>$LOG 
             echo $time  Load balance - - -  is  - - -   running @*****@ >>$LOG
  if [ $STATA -eq 0 ] ; then
            if [ $PID -eq 0 ] ; then
        echo keepalived running >$NULL
            else
       IP=`ip add list |grep $VIP  >$NULL  ; echo $?`
               if [ $IP -eq 0 ] ; then
                   echo vip is ok >$NULL
               else
             echo $INTERFACE |xargs ip addr add $VIP dev 2> $NULL
                fi
            fi     
PIDLINE=`ipvsadm -L -n | wc -l`
OUTPUTIP1=`cat $FPAT | sed -n '6p' | awk -F'<Addr_Out>' '{print $2}' |awk -F'</Addr_Out>' '{print $1}'`
INPUTIP1=`cat $FPAT |sed -n '9p' | awk -F'<Addr_In>' '{print $2}' |awk -F'</Addr_In>' '{print $1}'`
OUTPUTIP2=`cat $FPAT | sed -n '15p' | awk -F '<Addr_Out>' '{print $2}' |awk -F'</Addr_Out>' '{print $1}'`
INPUTIP2=`cat $FPAT | sed -n '18p' | awk -F'<Addr_In>' '{print $2}' |awk -F'</Addr_In>' '{print $1}'`
OUTPUTPORT1=`cat $FPAT | sed -n '7p' |awk -F'<Port_Out_Uni>' '{print $2}'|awk -F'</Port_Out_Uni>' '{print $1}'`
OUTPUTPORT2=`cat $FPAT | sed -n '8p' |awk -F'<Port_Out_Bi>' '{print $2}'|awk -F'</Port_Out_Bi>' '{print $1}'`
OUTVIP=`cat /etc/keepalived/keepalived.conf |sed -n '15p' | awk -F/.* '{print $1}'`
INVIP=192.168.0.99
INFACE=eth3 
LINE=`wc -l $FPAT |awk '{print $1}'`
LINEB=`wc -l $FPAT |awk '{print $1}'`
     
              if [ $LINEB -gt 22 ] ; then
OUTPUTIP3=`cat $FPAT |sed -n '24p'| awk -F '<Addr_Out>' '{print $2}' |awk -F'</Addr_Out>' '{print $1}'`
INPUTIP3=`cat  $FPAT |sed -n '27p'| awk -F'<Addr_In>' '{print $2}' |awk -F'</Addr_In>' '{print $1}'`
                if [ $PIDLINE -eq 3 ] ; then
              echo \ ; echo \ >>$LOG 
                          echo $time ipvsadm -  not - set  -  ok ! >>$LOG
                   if [ "$OUTPUTIP1" == "$INPUTIP1" ] ; then
ipvsadm -C
ipvsadm -A -t $OUTVIP:$OUTPUTPORT1 -s wlc -p 900
ipvsadm -a -t $OUTVIP:$OUTPUTPORT1 -r $OUTPUTIP1:$OUTPUTPORT1 -g
ipvsadm -a -t $OUTVIP:$OUTPUTPORT1 -r $OUTPUTIP2:$OUTPUTPORT1 -g
ipvsadm -a -t $OUTVIP:$OUTPUTPORT1 -r $OUTPUTIP3:$OUTPUTPORT1 -g
ipvsadm -A -t $OUTVIP:$OUTPUTPORT2 -s wlc -p 900
ipvsadm -a -t $OUTVIP:$OUTPUTPORT2 -r $OUTPUTIP1:$OUTPUTPORT2 -g
ipvsadm -a -t $OUTVIP:$OUTPUTPORT2 -r $OUTPUTIP2:$OUTPUTPORT2 -g
ipvsadm -a -t $OUTVIP:$OUTPUTPORT2 -r $OUTPUTIP3:$OUTPUTPORT2 -g
              echo \ ; echo \ >>$LOG 
                      echo $time set - - - ipvsadm - - - ok >> $LOG
                  else
ipvsadm -C
ipvsadm -A -t $OUTVIP:$OUTPUTPORT1 -s wlc -p 900
ipvsadm -a -t $OUTVIP:$OUTPUTPORT1 -r $OUTPUTIP1:$OUTPUTPORT1 -g
ipvsadm -a -t $OUTVIP:$OUTPUTPORT1 -r $OUTPUTIP2:$OUTPUTPORT1 -g
ipvsadm -a -t $OUTVIP:$OUTPUTPORT1 -r $OUTPUTIP3:$OUTPUTPORT1 -g
ipvsadm -A -t $OUTVIP:$OUTPUTPORT2 -s wlc -p 900
ipvsadm -a -t $OUTVIP:$OUTPUTPORT2 -r $OUTPUTIP1:$OUTPUTPORT2 -g
ipvsadm -a -t $OUTVIP:$OUTPUTPORT2 -r $OUTPUTIP2:$OUTPUTPORT2 -g
ipvsadm -a -t $OUTVIP:$OUTPUTPORT2 -r $OUTPUTIP3:$OUTPUTPORT2 -g
ipvsadm -A -t $INVIP:$OUTPUTPORT1 -s wlc -p 900
ipvsadm -a -t $INVIP:$OUTPUTPORT1 -r $INPUTIP1:$OUTPUTPORT1 -g
ipvsadm -a -t $INVIP:$OUTPUTPORT1 -r $INPUTIP2:$OUTPUTPORT1 -g
ipvsadm -a -t $INVIP:$OUTPUTPORT1 -r $INPUTIP3:$OUTPUTPORT1 -g
ipvsadm -A -t $INVIP:$OUTPUTPORT2 -s wlc -p 900
ipvsadm -a -t $INVIP:$OUTPUTPORT2 -r $INPUTIP1:$OUTPUTPORT2 -g
ipvsadm -a -t $INVIP:$OUTPUTPORT2 -r $INPUTIP2:$OUTPUTPORT2 -g
ipvsadm -a -t $INVIP:$OUTPUTPORT2 -r $INPUTIP3:$OUTPUTPORT2 -g
              echo \ ; echo \ >>$LOG 
                   echo $time set - - - ipvsadm - - - ok  >> $LOG 
                fi 
             else
                echo $time ipvsadm - - - is - - - alived >> $LOG
            fi
        else
                 if [ $PIDLINE -eq 3 ] ; then
              echo \ ; echo \ >>$LOG 
                   echo $time ipvsadm -  not - set  -  ok ! >>$LOG
              if [ "$OUTPUTIP1" == "$INPUTIP1" ] ; then
ipvsadm -C
ipvsadm -A -t $OUTVIP:$OUTPUTPORT1 -s wlc -p 900
ipvsadm -a -t $OUTVIP:$OUTPUTPORT1 -r $OUTPUTIP1:$OUTPUTPORT1 -g
ipvsadm -a -t $OUTVIP:$OUTPUTPORT1 -r $OUTPUTIP2:$OUTPUTPORT1 -g
ipvsadm -A -t $OUTVIP:$OUTPUTPORT2 -s wlc -p 900
ipvsadm -a -t $OUTVIP:$OUTPUTPORT2 -r $OUTPUTIP1:$OUTPUTPORT2 -g
ipvsadm -a -t $OUTVIP:$OUTPUTPORT2 -r $OUTPUTIP2:$OUTPUTPORT2 -g
              echo \ ; echo \ >>$LOG 
                 echo $time set - - - ipvsadm - - - ok >> $LOG
            else
time=`date +"%Y-%m-%d %H:%M:%S"`
ipvsadm -C
ipvsadm -A -t $OUTVIP:$OUTPUTPORT1 -s wlc -p 900
ipvsadm -a -t $OUTVIP:$OUTPUTPORT1 -r $OUTPUTIP1:$OUTPUTPORT1 -g
ipvsadm -a -t $OUTVIP:$OUTPUTPORT1 -r $OUTPUTIP2:$OUTPUTPORT1 -g
ipvsadm -A -t $OUTVIP:$OUTPUTPORT2 -s wlc -p 900
ipvsadm -a -t $OUTVIP:$OUTPUTPORT2 -r $OUTPUTIP1:$OUTPUTPORT2 -g
ipvsadm -a -t $OUTVIP:$OUTPUTPORT2 -r $OUTPUTIP2:$OUTPUTPORT2 -g
ipvsadm -A -t $INVIP:$OUTPUTPORT1 -s wlc -p 900
ipvsadm -a -t $INVIP:$OUTPUTPORT1 -r $INPUTIP1:$OUTPUTPORT1 -g
ipvsadm -a -t $INVIP:$OUTPUTPORT1 -r $INPUTIP2:$OUTPUTPORT1 -g
ipvsadm -A -t $INVIP:$OUTPUTPORT2 -s wlc -p 900
ipvsadm -a -t $INVIP:$OUTPUTPORT2 -r $INPUTIP1:$OUTPUTPORT2 -g
ipvsadm -a -t $INVIP:$OUTPUTPORT2 -r $INPUTIP2:$OUTPUTPORT2 -g
              echo \ ; echo \ >>$LOG 
                 echo $time set - - - ipvsadm - - - ok  >> $LOG
            fi
       else
              echo \ ; echo \ >>$LOG 
                 echo $time ipvsadm - - - is - - - alived >> $LOG 
          fi
               if [ $LINE -gt 3 ] ; then
STD=`$PING  $OUTPUTIP1 >$NULL ; echo $?`
STE=`$PING  $OUTPUTIP2 >$NULL ; echo $?`
               fi
PORTA=`$NC $OUTPUTIP1 $OUTPUTPORT1 2> $NULL ; echo $?`
PORTB=`$NC $OUTPUTIP2 $OUTPUTPORT1 2> $NULL ; echo $?`
          if [ $PORTA -eq 1 ] ; then
               echo $OUTPUTIP1 > .ipaddSTD
ipvsadm -d -t $OUTVIP:$OUTPUTPORT1 -r $OUTPUTIP1 2>$NULL
ipvsadm -d -t $OUTVIP:$OUTPUTPORT2 -r $OUTPUTIP1 2>$NULL
               echo 1 >.A
AS=`cat .A`
              if [ $AS -eq 1 ] ; then
              echo \ ; echo \ >>$LOG 
                    echo $time ipvsadm remove $OUTPUTIP1 server 1 >>$LOG
             else
                    echo log ok >$NULL
              fi
        else
VALUEIP=`wc -l .ipaddSTD |awk '{print $1}'`
                           if [ $VALUEIP -gt 0 ] ; then
STD1=`$PING $OUTPUTIP1 >$NULL ; echo $?`
PORTA=`$NC $OUTPUTIP1 $OUTPUTPORT1 2>$NULL ; echo $?`
                        if [ $STD1 -eq 0 ]  && [ $PORTA -eq 0 ] ; then
ipvsadm -a -t $OUTVIP:$OUTPUTPORT1 -r $OUTPUTIP1:$OUTPUTPORT1 -g
ipvsadm -a -t $OUTVIP:$OUTPUTPORT2 -r $OUTPUTIP1:$OUTPUTPORT2 -g
              echo \ ; echo \ >>$LOG 
                    echo $time $OUTPUTIP1 is alived add to ipvsadm >>$LOG
>.ipaddSTD
                           else
                                echo status ok >$NULL
                         fi
                             fi
          fi
      
                              if [ $PORTB -eq 1 ] ; then
                                   echo $OUTPUTIP2 > .ipaddSTE
ipvsadm -d -t $OUTVIP:$OUTPUTPORT1 -r $OUTPUTIP2 2>$NULL
ipvsadm -d -t $OUTVIP:$OUTPUTPORT2 -r $OUTPUTIP2 2>$NULL
echo 1 >.B
BS=`cat .B`
                     if [ $BS -eq 1 ] ; then
              echo \ ; echo \ >>$LOG 
                          echo $time ipvsadm remove $OUTPUTIP2  server 2 >>$LOG
                     else
                           echo log ok > $NULL
                     fi
                             else
VALUEIP=`wc -l .ipaddSTE |awk '{print $1}'`
                         if [ $VALUEIP -gt 0 ] ; then
STD1=`$PING $OUTPUTIP2 >$NULL ; echo $?`
PORTA=`$NC $OUTPUTIP2 $OUTPUTPORT1 2>$NULL ; echo $?`
                      if [ $STD1 -eq 0 ]  && [ $PORTA -eq 0 ] ; then
ipvsadm -a -t $OUTVIP:$OUTPUTPORT1 -r $OUTPUTIP2:$OUTPUTPORT1 -g
ipvsadm -a -t $OUTVIP:$OUTPUTPORT2 -r $OUTPUTIP2:$OUTPUTPORT2 -g
              echo \ ; echo \ >>$LOG 
                         echo $time  $OUTPUTIP2 is alived add to ipvsadm >>$LOG
>.ipaddSTE
                         else
                               echo status ok > $NULL
                      fi
                         fi
              fi
                                    if [ $LINEB -gt 22 ] ; then
PORTC=`$NC $OUTPUTIP3 $OUTPUTPORT1 2>$NULL ; echo $?`
STF=`$PING  $OUTPUTIP3 >$NULL ; echo $?`
                                  if [ $PORTC -eq 1 ] ; then
ipvsadm -d -t $OUTVIP:$OUTPUTPORT1 -r $OUTPUTIP3 2>$NULL
ipvsadm -d -t $OUTVIP:$OUTPUTPORT2 -r $OUTPUTIP3 2>$NULL
                                     echo $OUTPUTIP3 > .ipaddSTF
                                     echo 1 >.C
CS=`cat .C`
                                if [ $CS -eq 1 ] ; then
              echo \ ; echo \ >>$LOG 
                         echo $time ipvsadm remove $OUTPUTIP3  server 3 >>$LOG
                                else
                                    echo log ok >$NULL
                                fi
                                  else
VALUEIP=`wc -l .ipaddSTF |awk '{print $1}'`
                        if [ $VALUEIP -gt 0 ] ; then
STD1=`$PING $OUTPUTIP3 >$NULL ; echo $?`
PORTA=`$NC $OUTPUTIP3 $OUTPUTPORT1 2>$NULL ; echo $?`
                     if [ $STD1 -eq 0 ]  && [ $PORTA -eq 0 ] ; then
ipvsadm -a -t $OUTVIP:$OUTPUTPORT1 -r $OUTPUTIP3:$OUTPUTPORT1 -g
ipvsadm -a -t $OUTVIP:$OUTPUTPORT2 -r $OUTPUTIP3:$OUTPUTPORT2 -g
              echo \ ; echo \ >>$LOG 
                       echo $time $OUTPUTIP3 is alived add to ipvsadm >>$LOG
>.ipaddSTF
                        else
                              echo status ok > $NULL
                     fi
                         fi
                  fi
              fi
##
       fi
           else
              echo \ ; echo \ >>$LOG 
      echo "$time status is backup Can't use LVS !~!~! "  >> $LOG
              echo \; echo\; echo
OUTVIP=`cat /etc/keepalived/keepalived.conf |sed -n '15p' | awk -F/.* '{print $1}'`
IP=`ip add list |grep $OUTVIP >$NULL ; echo $?`
ROUTE=`route -n |grep $OUTVIP |grep lo  >$NULL; echo $?`
       if [ "$OUTPUTIP1" == "$INPUTIP1" ] ; then
                        if [ $IP -eq 0 ] && [ $ROUTE -eq 0 ] ; then
              echo \ ; echo \ >>$LOG 
                            echo $time VIP - - IS - - Set - - Up - - Ok >$LOG">!@!@!>>$LOG
                        else
                           ifconfig lo:2 $OUTVIP netmask 255.255.255.255 up
echo "1" > /proc/sys/net/ipv4/conf/all/arp_ignore
echo "2" > /proc/sys/net/ipv4/conf/all/arp_announce
echo "1" > /proc/sys/net/ipv4/conf/lo/arp_ignore
echo "2" > /proc/sys/net/ipv4/conf/lo/arp_announce
              echo \ ; echo \ >>$LOG 
                              echo $time add $OUTVIP for lo:2 to backup server ok 1! >>$LOG
                              route add -host $OUTVIP dev lo:2
                        fi
       else                     
IPA=`ip add list |grep $OUTVIP >$NULL ; echo $?`
IPB=`ip add list |grep $INVIP >$NULL ; echo $?`
ROUTEA=`route -n |grep $OUTVIP |grep lo  >$NULL; echo $?`
ROUTEB=`route -n |grep $INVIP |grep lo  >$NULL; echo $?`
                        if [ "$IPA" == "$IPB" ] && [ "$ROUTEA" == "$ROUTEB" ] ; then
              echo \ ; echo \ >>$LOG 
                            echo $time VIP - - Set - - UP - -ok >>$LOG 
                        else
echo "1" > /proc/sys/net/ipv4/conf/lo/arp_ignore
echo "2" > /proc/sys/net/ipv4/conf/lo/arp_announce
echo "1" > /proc/sys/net/ipv4/conf/all/arp_ignore
echo "2" > /proc/sys/net/ipv4/conf/all/arp_announce
                           ifconfig lo:2 $OUTVIP netmask 255.255.255.255 up
              echo \ ; echo \ >>$LOG 
                            echo $time add $OUTVIP for lo:2 to backup server ok 2! >>$LOG
                            route add -host $OUTVIP dev lo:2
                            ifconfig lo:3 $INVIP netmask 255.255.255.255 up
                            route add -host $INVIP dev lo:3
              echo \ ; echo \ >>$LOG 
                            echo $time add $INVIP for lo:3 to backup server ok ! >>$LOG
                        fi
      fi                
       fi
             else
ipvsadm -C  
             if [ $STATB -eq 0 ] ; then
echo "0" > /proc/sys/net/ipv4/conf/lo/arp_ignore
echo "0" > /proc/sys/net/ipv4/conf/lo/arp_announce
echo "0" > /proc/sys/net/ipv4/conf/all/arp_ignore
echo "0" > /proc/sys/net/ipv4/conf/all/arp_ignore
             ip addr del $OUTVIP dev lo  2>$NULL
             ip addr del $INVIP dev lo   2>$NULL
             route del -host $OUTVIP dev lo 2>$NULL
             route del -host $INVIP dev lo  2>$NULL   
              echo \ ; echo \ >>$LOG 
             echo $time Load balance - is -  closed >>$LOG
             fi
             echo $time Load balance - is -  closed >>$LOG
fi
   else
   LOG=/var/log/keepalived.log
   ipvsadm -C
   echo $INTERFACE |xargs ip addr del $VIP dev 2>>$NULL
              echo \ ; echo \ >>$LOG 
   echo $time TrustMore Gateway Server Not Running >> $LOG
fi

FILE=`grep "nohup /ssl/bin/k.sh &" /etc/rc.local > $NULL ; echo $?`
    if [ $FILE -eq 0 ] ; then
       echo file ok >$NULL
    else
       echo "nohup /ssl/bin/k.sh & " >>/etc/rc.local
    fi
ls -l $LOG |awk '{print $5}' | awk '$1 > 107374182 {print$1}' >.size
SIZE=`wc -l .size | awk '{print $1}'`
    if [ $SIZE -gt 0 ] ; then
      rm -rf $LOG
    fi
sleep $RUNTIME
done