bestu 发表于 2019-1-2 08:46:16

Shell编程实现Haproxy负载均衡集群的启动,关闭管理

  #!/bin/bash
#-------------------------Haproxy Server Management Shell script------------------------------------------------
#Authors are from JC
#time:2012-10-10
#QQ:408822635
#fromthe region Beijng.China.
#-------------------------Haproxy Server Management Shell script------------------------------------------------


case "$1" in
start)
BASE="/usr/local/haproxy/sbin/haproxy"
haproxy=`netstat -lntp|grep haproxy|wc -l`
if [ $haproxy -gt 0 ];then
echo "正在检测中,请稍候......"
sleep 3
echo "-----------------------------Haproxy负载均衡集群---------------------------------------"
echo "|                                                                                     |"
echo "|                        已经在运行状态中,无需要启动                                 |"
echo "|                                                                                     |"
echo "-----------------------------Haproxy负载均衡集群---------------------------------------"

else

forhaproxy in /usr/local/haproxy/etc/haproxy.cfg
do
    $BASE-f$haproxy >/dev/null 2>&1
done
      
       echo "Haproxy负载均衡正在启动......"
sleep 3
       echo "-------------------------------Haproxy负载均衡集群已经启动完成-------------------------------------------"
       netstat -lntp|grep haproxy
       echo "-------------------------------Haproxy负载均衡集群列表---------------------------------------------------"
fi

;;

stop)
BASE="/usr/local/haproxy/sbin/haproxy"
haproxy=`netstat -lntp|grep haproxy|wc -l`
if [ $haproxy == $? ];then
echo "正在检测中,请稍候......"
sleep 2
echo "Haproxy已经关闭,无需要再关闭"
echo "Haproxy已经关闭,无需要再关闭"
else
    echo "Haproxy负载均衡服务正在关闭,请稍后.........."
sleep 2

   for PIDFILE in /usr/local/haproxy/haproxy.pid
do
      kill $(cat $PIDFILE) >/dev/null 2>&1
done

          echo "Haproxy负载均衡集群服务已经关闭完成.....................done"
sleep 1

   fi

;;

status)
haproxy=`netstat -lntp|grep haproxy|wc -l`
if [ $haproxy -gt 0 ];then
echo"Haproxy正在运行中..................OK"

else
      echo "Haproxy已经是关闭状态...................stop"
fi

;;

restart)
BASE=/usr/local/haproxy/sbin/haproxy
CONFFILE=/usr/local/haproxy/etc/haproxy.cfg

echo"Haproxy正在重新启动,请稍等......................................."
    for PIDFILE in /usr/local/haproxy/haproxy.pid
do
      $BASE -f $CONFFILE -sf $(cat $PIDFILE) >/dev/null
done
      echo "Haproxy负载均衡服务已经重新启动成功,请查看............................"
sleep2

      echo "--------------------------------------------------------Haproxy重新启动后的进程数------------------------------------------------------------------------------------------------------"
      ps -ef|grep haproxy
      echo "--------------------------------------------------------Haproxy进程列表-------------------------------------------------------------------------------------------------"

;;
*)
echo "Usage: $haproxy {start|stop|status|restart}"
      RETVAL=3
      ;;
esac

exit $RETVAL



页: [1]
查看完整版本: Shell编程实现Haproxy负载均衡集群的启动,关闭管理