Inicia o script personalizado após a interface wifi ficar online

2

Em uma compilação do Debian, eu tenho um script init.d personalizado. Também modifiquei meu network para que a conexão com o WiFi seja feita em segundo plano.

Como posso iniciar meu script personalizado, digamos custom.sh durante a inicialização, mas ele é executado assim que a rede é ativada e conectada?

Atualmente, eu estava pensando em fazer um loop a cada x segundos e, a cada vez, verificar se a rede está ativa. Uma vez que é, então você pula fora do loop.

    
por Kousha 18.03.2015 / 17:17

1 resposta

1

No Debian, todos os métodos para iniciar e parar conexões de rede executam scripts sob /etc/network . Isso está documentado na interfaces(5) página do manual. Faz parte do pacote ifupdown, mas os scripts são executados mesmo que a interface seja ativada ou desativada por frameworks como o NetworkManager, e não pelos comandos ifup e ifdown .

Portanto, coloque seu script em /etc/network/if-up.d . Certifique-se de incluir uma verificação de que a interface desejada está ativa - em particular, você não quer que seu script seja executado assim que a interface de loopback for ativada. Você pode verificar o nome da interface com a variável de ambiente IFACE , diretamente ou chamando comandos como ifconfig , route ou ip para verificar suas características (endereço IP, gateway,…). Como alternativa, você pode verificar algo independentemente da interface, por exemplo, teste que algum host é alcançável.

Observe que os scripts são executados em ordem lexicográfica. Se o seu script exigir que alguma outra funcionalidade (por exemplo, DNS) esteja disponível, verifique se ele é posterior ao script que configura essa funcionalidade.

    
por 19.03.2015 / 01:19

Tags