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

Re: Inicialização de scripts...Ordem.



Em 16/3/2009 13:35, Gunther Furtado escreveu:
Olá,

2009/3/16 Julio<cbjulio@gmail.com>:
On 15 mar, 11:50, "Renato S. Yamane"<yam...@diamondcut.com.br>  wrote:
Em 15-03-2009 12:12, Julio escreveu:



Renato S. Yamane wrote:
Julio escreveu:
Tenho um script de controle banda que gostaria que fosse carregado
"depois de tudo". O problema é que tenho uma placa de rede Marvell, e
ela demora pra ser levantada, e bem nela tenho a minha ppp0 que é
necessária para usar no meu script. Como faço pra resolver isso? Pra
executar o script só depois que ela subir...
Coloque o seu script dentro de um loop que testa um ping para um
endereço qualquer.
Se o ping ocorrer com sucesso, então a rede está OK, portanto execute o
script, do contrário use um "sleep 30" (para aguardar 30 segundos) e
teste novamente a conexão.
=====================
#!/bin/bash
while (! ping -c 1www.google.com.br>    /dev/null);
do
sleep 30
done
/usr/bin/seu_script.sh
=====================
Olá meus amigos. Infelizmente nenhum dos dois deu certo. :(
Porque não deu certo?

Nesse exemplo acima, o seu script só será executado quando o ping para o
Google ocorrer com sucesso. O seu script NUNCA será executado se a
interface ppp0 estiver desconectada (pois você nunca conseguirá dar um
ping no Google).

Se o ping está OK, então a sua interface ppp0 está on-line e o seu
script pode ser executado perfeitamente.

Não é isso que você quer?

Att,
Renato

--
To UNSUBSCRIBE, email to debian-user-portuguese-REQU...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Sim Renato, entendi o que você quis dizer. Mas como possuo 2
interfaces pra internet, não será possível fazer isso. Ou seja, a
minha primeira (ppp2) levanta antes de tudo. Então conseguiria pingar,
mesmo sem a minha ppp0 estar no ar. Entende?



É possível especificar a interface usando o ping:

while (! ping -I ethX -c 1www.google.com.br>   /dev/null);

Resolve?

Mais detalhes em:

http://www.manpagez.com/man/8/ping/

ou

$ man ping
Abraço,
Não sei, mas acredito que essa maneira de pingar um host para testar a interface se já está levantada não seja a mais indicada.

Uma vez que, teoricamente um script com prioridade superior ao do daemon networking só vai executar no boot, depois que os com maior prioridade (menor numero) já forem executados.

Outra forma e acredito que seja a mais conveniente, apesar de não saber o que pretende com isso, é configurar a interface com a opção "up [script]" em /etc/network/interfaces onde [script] contém o path do script que deseja executar ou então adicionar um link simbólico ou colocar o script em /etc/networks/if-up.d/

A[]'s


Reply to: