![kildren kildren](//static.vivaolinux.com.br/imagens/fotos/1264028693.linux-tecnologia-c9754.jpg)
kil-linux
(usa Ubuntu)
Enviado em 14/09/2016 - 07:42h
Bom dia, pessoal peguei um script de failover de um site mas ao executar estou tendo problemas com erros e como não programa em shel estou tendo dificuldade de implementalo, segue o script.
#!/bin/bash
DATA=`date`
IF_PADRAO="eth0"
IP_PADRAO="10.0.0.1"
RD_PADRAO="10.0.0.0/255.255.248.0"
IF_LINK1="eth1"
IP_LINK1="201.143.112.163"
GW_LINK1="201.143.112.162"
RD_LINK1="201.143.112.161/255.255.255.248"
IF_LINK2="eth2"
IP_LINK2="177.149.109.105"
GW_LINK2="177.149.109.104"
RD_LINK2="177.149.109.103/255.255.255.248"
GW_DEFAULT="`ip ro | grep -i default | cut -f3 -d" "`"
rm -rf /tmp/IP_online 2>&1 > /dev/null 2>&1
link1(){
ping -c 4 -I $IP_LINK1 8.8.8.8 >> /dev/null
if [ $? != "0" ];then
echo "$DATA - Link1 fora" >> /var/log/failover.log
echo "$GW_LINK1" >> /tmp/IP_offline
else
echo "$GW_LINK1" >> /tmp/IP_online
fi
}
link2(){
ping -c 4 -I $IP_LINK2 8.8.8.8 >> /dev/null
if [ $? != "0" ];then
echo "$DATA - Link2 Fora" >> /var/log/failover.log
echo "$GW_LINK2" >> /tmp/IP_offline
else
echo "$GW_LINK2" >> /tmp/IP_online
fi
}
failover(){
while [ "`route -n | grep "UG"`" ];do
route del default
done
if [ "$GW_DEFAULT" != "$GW_LINK1" ];then
route add default gw $GW_LINK1
echo "$DATA - Mudando para Link1" >> /var/log/failover.log
else
route add default gw $GW_LINK2
echo "$DATA - Mudando para Link2" >> /var/log/failover.log
fi
}
link1
link2
if [ "`cat /tmp/IP_online | grep -i "$GW_DEFAULT"`" != "" ];then
if [ "`cat /tmp/IP_online | grep -i "$GW_LINK1"`" != "" ] && [ "$GW_DEFAULT" != "$GW_LINK1" ];then
echo "$DATA - Mudando para Link1 - Link novamente no ar" >> /var/log/failover.log
route del default
route add default gw $GW_LINK1
fi
else
failover
fi