quinta-feira, 1 de março de 2012

Contingencia automatica

#!/bin/bash
gw_embratel="189.2.105.49"
gw_adsl="10.1.1.1"
ip_google="8.8.8.8"
iproute2=/sbin/ip
gw_on="$("${iproute2}" route list | grep default | head -n 1 | cut -f3 -d" ")"

if [ ! $gw_on = $gw_embratel ]; then
/sbin/route del default
/sbin/route add default gw $gw_embratel
/usr/bin/logger -p user.warn -t LINK_INTERNET -s "Gateway alterado para $gw_embratel" -f /var/log/messages

/bin/ping -c 1 -w 3 $ip_google
if [ $? -ne 0 ]; then
/sbin/route del default
/sbin/route add default gw $gw_adsl
/sbin/service openvpn restart
/usr/bin/logger -p user.warn -t LINK_INTERNET -s "Gateway alterado para $gw_adsl" -f /var/log/messages
fi
fi

/bin/ping -c 3 -w 5 $ip_google
if [ ! $? -eq 0 ]; then
/sbin/route del default gw $gw_on

if [ "$gw_on" = "$gw_embratel" ]; then
/sbin/route add default gw $gw_adsl
/usr/bin/logger -p user.warn -t LINK_INTERNET -s "Gateway alterado para $gw_adsl" -f /var/log/messages

/usr/bin/mutt -s "Falha no link Embratel SP" plantaocisuporte@positivo.com.br -c groliveira@positivo.com.br <<EOF
---
Falha na comunicacao com a operadora Embratel na filial SP.
A contingencia foi acionada automaticamente.
Favor abrir chamado junto a operadora para verificacao!
---
EOF

else
/sbin/route add default gw $gw_embratel
fi
fi
/sbin/ip route flush cache
exit