Criar Loop

1. Criar Loop

Fabio de Sousa
fabiocs

(usa Fedora)

Enviado em 27/08/2013 - 13:17h

Um salve a todos,

Alguém poderia me ajudar, por favor, me mostrando como criar um loop para o que o seguinte código seja executado a cada 10 segundos?

#!/bin/sh
# Script para reinciar o o wvdial caso o ppp caia
#check-vivo.sh
#
ip add sh ppp0
case $? in
0) echo "com_ppp" ;
;;
*) echo "sem_ppp" ;
/usr/bin/wvdial ;
exit 0;
;;
esac


Grato,
Fábio


  


2. Re: Criar Loop

Renato Carneiro Pacheco
renato_pacheco

(usa Debian)

Enviado em 27/08/2013 - 13:25h

Jogue o seu script no cron:


crontab -e


Inserindo a linha abaixo:


*/10 * * * * /caminho/seu/script.sh 2>&1 /dev/null


Ele vai rodá-lo de 10 em 10 segundos.


3. Re: Criar Loop

Fabio de Sousa
fabiocs

(usa Fedora)

Enviado em 27/08/2013 - 13:28h

Não.. ai ele vai rodar de 10 em 10 minutos!


4. Re: Criar Loop

Renato Carneiro Pacheco
renato_pacheco

(usa Debian)

Enviado em 27/08/2013 - 13:37h

Carai... é verdade! Hehehhe! É o sono, kra, desconsidere. Se não me engano, tem um software q executa por segundo, mas não tou lembrado o nome dele. Se vc pesquisar vc acha.


5. Re: Criar Loop

Fabio de Sousa
fabiocs

(usa Fedora)

Enviado em 27/08/2013 - 13:40h

Esquenta não... faz parte... obrigado!


6. Re: Criar Loop

Luís Fernando C. Cavalheiro
lcavalheiro

(usa Slackware)

Enviado em 27/08/2013 - 13:51h

fabiocs escreveu:

Esquenta não... faz parte... obrigado!


O crontab não aceita decimais, do tipo 0,16666666666666666666?

--
Cordialmente,
lcavalheiro - http://my.opera.com/lcavalheiro/blog/
93 93/93


7. Re: Criar Loop

Fabio de Sousa
fabiocs

(usa Fedora)

Enviado em 27/08/2013 - 14:44h

Não.. não aceita!


8. Re: Criar Loop

Renato Carneiro Pacheco
renato_pacheco

(usa Debian)

Enviado em 27/08/2013 - 14:55h

Achei uma solução. Ex.:


#!/bin/sh
while [ 1 ]; do
comando
sleep 15
done


Vai rodar d 15 em 15 segundos.


9. Re: Criar Loop

Fabio de Sousa
fabiocs

(usa Fedora)

Enviado em 27/08/2013 - 15:08h

Blz, eu fiz isso aqui

#!/bin/sh
while [ 1 ]; do
/usr/sbin/check-vivo.sh
sleep 10
done

Funcionou... porém o quando chamo o script ele me toma o prompt!
Colocando ele para inicializar no /etc/rc.local acontece a mesma coisa
Também tentei colocar o & mas nada de liberar o prompt!
Preciso descobrir agora como fazê-lo rodar em background!

Grato,
Fábio


10. Re: Criar Loop

Renato Carneiro Pacheco
renato_pacheco

(usa Debian)

Enviado em 27/08/2013 - 15:32h

Ponha assim e veja se resolve:


#!/bin/sh
while [ 1 ]; do
/usr/sbin/check-vivo.sh &
sleep 10
done



11. Re: Criar Loop

Fabio de Sousa
fabiocs

(usa Fedora)

Enviado em 27/08/2013 - 16:02h

Não resolveu assim

#!/bin/sh
while [ 1 ]; do
/usr/sbin/check-vivo.sh &
sleep 10
done

e nem assim

#!/bin/sh
while [ 1 ]; do
/usr/sbin/check-vivo.sh 2>&1 /dev/null
sleep 10
done


12. Re: Criar Loop

Renato Carneiro Pacheco
renato_pacheco

(usa Debian)

Enviado em 27/08/2013 - 16:22h

Ponha, então, o & na frente do comando sleep.



01 02



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts