[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] Qual a melhor forma de manter um script rodando 24x7x
From: |
Julio C. Neves |
Subject: |
Re: [shell-script] Qual a melhor forma de manter um script rodando 24x7x365? |
Date: |
Wed, 16 Nov 2011 19:45:55 -0200 |
Aloha Kurt,
experimente fazer no prompt:
$ trap "echo houve um encerramento" 17
$ sleep 3 &
Viu!? Depois de 3 segundos vc ganhou a msg. Isso pq o sinal 17 é ativado
qdo um subshell termina.
Colocando isso na prática, use um script auxiliar para disparar o principal
e controlar, via sinal 17, qdo ele aborta.
Abcs,
Julio
*Quer aprender tudo de Shell em 2 fins de semana?*
* address@hidden <address@hidden> ou (21) 8112-9988*
**
*** » **julioneves1 » juliobash*
Em 14 de novembro de 2011 15:44, Kurt Kraut <address@hidden> escreveu:
> **
>
>
> Olá,
>
> Já ultrapassei a barreira dos 30 scripts em 1 ano de empresa aqui. Tudo
> graças a esta lista e aos livros do Júlio Neves e Aurélio Jargas. Eu
> costumo chamar de 'meus macaquinhos adestrados', pois automatizam
> procedimentos e truques que antes da minha entrada na empresa, eram feito
> manualmente.
>
> Meus scripts estão ficando bem complexos e cruciais para o funcionamento de
> sistema. Mais recentemente fiz uma safra deles que fica parseando em tempo
> real os logs (ex.: do Apache) através do AWK e dispara comandos e reações
> de acordo com expressões regulares. Meu novo problema é: Qual a melhor
> forma de manter um script rodando 24x7x365?
>
> Já me indicaram o monit para isso, mas ao ler a documentação achei mais
> adequado para gerir daemons, não scripts. O que preciso é:
>
> *1)* Impedir que o mesmo script rode duas vezes ao mesmo tempo.
> *2)* Detectar de X em X minutos se o script em questão está rodando e se
> não estiver, rodá-lo. Se estiver, ignorar.
>
> O que pensei foi numa espécie de controller.sh e este eu chamaria na
> crontab a cada minuto. Ele checaria em $(ps aux | fgrep nomedoscript.sh) se
> ele estiver rodando. Se essa variável estiver vazia, rodar o script. Se
> não, encerrar sem tomar nenhuma ação.
>
> É esse o modelo ideal ou sugerem algum outro?
>
> Abraços,
>
> Kurt Kraut
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>
>
[As partes desta mensagem que não continham texto foram removidas]