#!/bin/bash
#auto check nginx vip
ETH_NAME="ens33:0"
ETH_VIP="192.168.1.188"
ETH_MASK="255.255.255.0"
ETH_DIR="/etc/sysconfig/network-scripts"
function eth_config(){
cat>ifcfg-$ETH_NAME <<EOF
TYPE=Ethernet
BOOTPROTO=static
DEVICE=$ETH_NAME
ONBOOT=yes
IPADDR=$ETH_VIP
NETMASK=$ETH_MASK
EOF
}
while true
do
CHECK_NUM=$(ps -ef|grep nginx|grep -v grep|grep -v check|wc -l)
if [ $CHECK_NUM -ne 0 ];then
ping -c 5 $ETH_VIP
if [ $? -ne 0 ];then
cd $ETH_DIR
eth_config
ifup $ETH_NAME
fi
else
ifdown $ETH_NAME
rm -rf $ETH_DIR/ifcfg-$ETH_NAME
fi
sleep 5
done
sleep 5
done
#!/bin/bash
#auto change service VIP
##########################
ETH_NAME="ens33:1"
NGX_VIP="192.168.1.188"
NGX_MASK="255.255.255.0"
ETH_DR="/etc/sysconfig/network-scripts"
NGX_NUM=`ps -ef|grep nginx|grep -v grep|grep -v check|wc -l`
start(){
while sleep 4
do
if [ $NGX_NUM -eq 0 ];then
ifdown $ETH_NAME
exit 0
else
ping -c 2 $NGX_VIP>/dev/null 2>&1
if [ $? -ne 0 ];then
cat >$ETH_DIR/ifcfg-$ETH_NAME<<-EOF
TYPE="Ethernet"
BOOTPROTO="static"
DEVICE="$ETH_NAME"
IPADDR=$NGX_VIP
NETMASK=$NGX_MASK
ONBOOT="yes"
EOF
ifup $ETH_NAME
fi
fi
date
done
}
stop(){
ifdown $ETH_NAME
rm -rf $ETH_DIR/ifcfg-$ETH_NAME
}
case $1 in
start)
start
;;
stop)
stop
;;
*)
echo -e "\033[32m-----------------\033[0m"
echo -e "\033[32mUsage:/bin/sh $0 {start|stop|help}\033[0m"
exit 1
;;
esac
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- nryq.cn 版权所有 赣ICP备2024042798号-6
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务