mirror of https://github.com/Aidaho12/haproxy-wi
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
51 lines
967 B
51 lines
967 B
#!/bin/bash
|
|
CONF=/etc/keepalived/keepalived.conf
|
|
IP=`sudo cat $CONF |grep $3 |sed s/' '//g|sed s/'\t'//g| head -1`
|
|
VI=`sudo cat /etc/keepalived/keepalived.conf |grep VI |awk '{print $2}' |awk -F"_" '{print $2}' |tail -1`
|
|
VI=$(($VI+1))
|
|
|
|
if [[ $IP == $3 ]];then
|
|
echo -e "error: VRRP address alredy use"
|
|
exit 1
|
|
fi
|
|
|
|
sudo bash -c cat << EOF >> $CONF
|
|
vrrp_instance VI_$VI {
|
|
state MASTER
|
|
interface eth1
|
|
virtual_router_id 101
|
|
priority 103
|
|
|
|
#check if we are still running
|
|
track_script {
|
|
chk_haproxy
|
|
}
|
|
|
|
advert_int 1
|
|
authentication {
|
|
auth_type PASS
|
|
auth_pass VerySecretPass2!
|
|
}
|
|
virtual_ipaddress {
|
|
0.0.0.1
|
|
}
|
|
|
|
}
|
|
EOF
|
|
if [ $? -eq 1 ]
|
|
then
|
|
echo "Can't read keepalived config"
|
|
exit 1
|
|
fi
|
|
sudo sed -i "s/MASTER/$1/g" $CONF
|
|
sudo sed -i "s/eth1/$2/g" $CONF
|
|
sudo sed -i "s/0.0.0.1/$3/g" $CONF
|
|
|
|
if [[ $1 == "BACKUP" ]];then
|
|
sudo sed -i "s/103/104/g" $CONF
|
|
fi
|
|
|
|
if [[ $4 == "1" ]];then
|
|
sudo systemctl restart keepalived
|
|
fi
|
|
echo "success" |