[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] Como evitar um "loop"
From: |
Ruivaldo Neto |
Subject: |
Re: [shell-script] Como evitar um "loop" |
Date: |
Wed, 31 Dec 2003 10:46:21 -0200 |
User-agent: |
KMail/1.5.3 |
Você poderia criar arquivos contadores...
Tipo um arquivo : "sms.txt" ai toda vez você recuperaria com cat o valor
dele e atualizaria o arquivo por assim dizer...
espero ajudar
Em Qua 31 Dez 2003 09:03, Luis Augusto Kohlbach escreveu:
> Bom dia ,
>
> Bem, escrevi um shell-script (bash) que monitora os agentes/programas
> desenvolvidos em COBOL e que rodam nos servidores Linux e Unix , este
> monitor serve para verificar a cada 120s (2 minutos) todos os agentes do
> cobol e os programas de comunicação desenvolvidos em C, ele fica ativo no
> servidor principal (Pentium IV Xeon com 2 processadores) e envia o estado
> dos agentes/programas para o terminal, via e-mail e SMS. O envio do status
> quando tudo esta normal, fica apenas rodando na tela do terminal e quando
> algum agente/programa fica inativo, ele envia e-mail e msg SMS.
>
> Segue abaixo o shell-script:
>
> ---------------------------------------------------------------------------
>---------------------------- cat ../exec/mon_agentes.scp
> #================================================
> #Verificar agentes/programas ativos <Versao 3>
> # #Criado em 02/12/2003 - address@hidden
> # #Alterado em 17/12/2003 - address@hidden
> # #
> # #Informa via terminal,
> e-mail e SMS (msg p/ cel) # #quando
> algum agente ou xcom esta fora.
> # #================================================
> clear
> verifica()
> {
> qtdatv=`ps -wef |egrep "$agente" |egrep -v grep |wc -l`
> if [ "$qtdatv" -lt "$qtd" ]
> then
> 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
> else
> echo -e Todos os $agente Estao Ativos - Total: "$qtdatv"
> 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
> ---------------------------------------------------------------------------
>----------------------------
>
> Porém estou com uma questão que ainda não consegui resolver, se reparar na
> linha que envia mensagem $exdir/SMSup SPC/SC "$agente" 04896085759, vai
> notar que ela funciona da mesma forma que o envio de e-mail, porém a minha
> preocupação eh que este shell-script entre em loop e comece a enviar
> e-mail's e mensagens SMS sem parar, tomando conta da máquina e gerando um
> custo alto, caso o problema não seja detectado cedo e resolvido.
>
> Eis a questão , como posso "limitar" o envio de msg e mail's ? , e como
> poderia montar um relatório para ter uma estatística semanal/mensal das
> paradas dos agentes/programas ?
>
> Agradeço desde já !
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>
>
> ---------------------------------------------------------------------
> Esta lista não admite a abordagem de outras liguagens de programação, como
> perl, C etc. Quem insistir em não seguir esta regra será moderado sem
> prévio aviso.
> --------------------------------------------------------------------- Sair
> da lista: address@hidden
> ---------------------------------------------------------------------
> Esta lista é moderada de acordo com o previsto em
> http://www.listasdiscussao.cjb.net
> ---------------------------------------------------------------------
>
>
> Seu uso do Yahoo! Grupos é sujeito às regras descritas em:
> http://br.yahoo.com/info/utos.html
--
RS: Ruivaldo Neto