shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] Como evitar um "loop"


From: Alejandro Flores
Subject: Re: [shell-script] Como evitar um "loop"
Date: Wed, 31 Dec 2003 11:20:10 -0200

        Olá,

        Você pode fazer o seguinte:

NOT_TEMP="/tmp/notificado"

...

verifica()
{
  qtdatv=`ps -wef |egrep "$agente" |egrep -v grep |wc -l`
  if [ "$qtdatv" -lt "$qtd" ]
  then

    if [ -f $NOT_TEMP ]; then
        echo "Notificação ja enviada!"
        runStats $agente
    else
        echo "-------------------------------------"  >lixo_crock
        date >>lixo_crock
        echo -e "Atencao! Agente "$agente" inativo!" >>lixo_crock
        echo -e "Atencao! Agente "$agente" inativo!" | mail address@hidden
        $exdir/SMSup SPC/SC "$agente" 04896085759
        ps -wef |grep "$agente" |grep -v grep >>lixo_crock >/dev/null
        cat lixo_crock
        touch $NOT_TEMP
        runStats $agente
    fi

  else
        echo -e Todos os $agente Estao Ativos - Total: "$qtdatv"
        if [ -f $NOT_TEMP ]; then
                # Parece que é a primeira vez que roda após os agentes          
# voltarem
                cat $NOT_TEMP | mail address@hidden
                rm -f $NOT_TEMP
        fi

  fi
}
echo -e Iniciando em `date`
for i in `cat "$exdir"/mon_agentes.cfg |awk '{print $1}'`
do
   agente=`echo $i|cut -d: -f1-1`
   qtd=`echo $i|cut -d: -f2-2`
   verifica
done

function runStats {
        echo '\n\nAgente: $1\n' >> $NOT_TEMP
        echo 'Parado em: `date +"%d/%m/%Y %H:%M"`\n' >> $NOT_TEMP
}


abraço!
Alejandro Flores


reply via email to

[Prev in Thread] Current Thread [Next in Thread]