Problemas com script de redundância

1. Problemas com script de redundância

Hian Oliveira Cintra Batista
hian

(usa Debian)

Enviado em 22/10/2010 - 12:03h

Bom, primeiramente bom dia, boa tarde ou boa noite :)

adaptei este script de redundância de links aqui para a empresa


!/bin/bash
#######
### Declaracao de variaveis
###
var( ){
LOG=/var/log/redundancia.txt
IP=`ifconfig eth0 | awk '/inet end/ {print $3}'`
HOTLINK=187.33.77.18
begin
}
#######
### Funcao de teste de conexao
###
begin( ){
echo "Testando status da conexao" >> $LOG
echo "IP:" $IP >> $LOG
echo "`date +%d/%m/%Y-%H:%M:%S`" >> $LOG
echo "------------------------" >> $LOG
echo " " >> $LOG
if ! ping -w 3 www.google.com.br >/dev/null; then
echo "Sem conexao a internet iniciando funcao de troca de links..." >> $LOG
echo " " >> $LOG
if [ $IP = $HOTLINK ]; then
LINK2
else
LINK1
fi
else
begin
fi
}
#######
### Funcao de alteracao de rotas
###
LINK2( ){
echo "Funcao troca de links iniciada em $INICIO" >> $LOG
echo " " >> $LOG
if ! ping -w 3 www.google.com.br >/dev/null; then
echo "Link 1 inoperante trocando para link 2 em `date +%d/%m/%Y-%H:%M:%S`" >> $LOG
echo " " >> $LOG
#CONFIGURACAO LINK2
route del default
ifconfig eth0 10.1.110.145 netmask 255.255.255.0
route add default gw 10.1.110.254
IP=`ifconfig eth0 | awk '/inet end/ {print $3}'`
begin
else
begin
fi
}

LINK1( ){
echo "Funcao troca de links iniciada em $INICIO" >> $LOG
echo " " >> $LOG
if ! ping -w 3 www.google.com.br >/dev/null; then
echo " " >> $LOG
echo "Link 2 inoperante trocando para link 1 em `date +%d/%m/%Y-%H:%M:%S`" >> $LOG
#CONFIGURACAO LINK1
route del default
ifconfig eth0 187.33.77.18 netmask 255.255.255.248
route add default gw 187.33.77.17
IP=`ifconfig eth0 | awk '/inet end/ {print $3}'`
begin
else
begin
fi
}
#######
### Start do script
###
var


Até ai tudo bem, o script funciona perfeitamente, ele roda em loop infinito para que fique constantemente testando o link, troca ambos os links caso esteja inativo enfim.

O problema é que depois de por volta de 6 a 8 horas em execução, o script simplesmente para de rodar e o log do sistema retorna o seguinte erro:

#####

redundancia.sh[25703]: segfault at bf177e90 ip 0806843a sp bf177e70 error 6 in bash[8048000+a6000]
Oct 20 14:21:58 marketingcardeal kernel: [183275.832025] redundancia.sh[25705]: segfault at bf177fec ip 0806535a sp bf177ff0 error 6 in bash[8048000+a6000]
Oct 20 14:22:01 marketingcardeal kernel: [183278.870423] redundancia.sh[25708]: segfault at bf177fd0 ip 08091c51 sp bf177fd0 error 6 in bash[8048000+a6000]
Oct 20 14:22:01 marketingcardeal kernel: [183278.871349] redundancia.sh[15312]: segfault at bf177fa4 ip 080d74ec sp bf177f80 error 6 in bash[8048000+a6000]

Alguem tem idéia do que possa ser?
desde ja fico grato.


  


2. Re: Problemas com script de redundância

Joao
stack_of

(usa Slackware)

Enviado em 22/10/2010 - 12:34h

Provavelmente um desses:
1- Bug no bash
2- A recursao pode estar esgotando a memoria. Não devemos chamar uma função recursivamente sem retornar absolutamente nada. Pode esgotar a memória.
3- Algum problema na memoria RAM

Tenta executar o script com o shell iterativamente:

sh -x






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts