Português do Brasil English
Devin no Facebook  Devin no Twitter  RSS do Site 
Programação    

Shell-Script: Reconexão Automática


Comentários  3
Visualizações  
22,872

Este shell-script verifica se uma máquina está conectada na rede, e caso não esteja, reconecta-se de alguma forma. Para funcionar, além do script é necessário também o agendador de tarefas crontab.

O script, checkConn.sh:

#!/bin/bash
#

# IP de Teste
TEST_IP="74.125.47.147"

# UDHCPC
UDHCPC=/sbin/udhcpc

if ! `ping -c1 $TEST_IP > /dev/null 2>&1`; then
   $UDHCPC -i eth0 -q
else
   exit 0
fi

O TEST_IP é um IP da Internet para que o ping seja feito. Neste exemplo, usei um dos IPs do Google. Também, neste caso utilizei o cliente DHCP UDHCPC.

Em resumo, este script pinga um IP e caso não haja resposta, executa o udhcp pedindo um novo IP. É uma solução simples e não é totalmente segura. Por exemplo, se o IP que tentamos pingar está fora, ao invés da própria máquina, ele vai executar mesmo assim.

Com pequenas alterações, podemos colocar o dhclient para ser usado, ao invés do udhcpc. Ou também podemos colocar depois do “if” quaisquer comandos (como por exemplo, um log) que acontecerão quando a conexão falhar.

Escolha um intervalo para ficar executando este script. Aqui colocarei o script para ser executado de 2 em 2 minutos. Para fazer o agendamento, usamos o crontab executando como root “crontab -e” ou (2a. opção) editando o arquivo “/etc/crontab”. A linha:

*/2 * * * * /usr/local/bin/checkConn.sh

…fará isso.


Comentários  3
Visualizações  
22,872


TagsLeia também

Apaixonado por Linux e administração de sistemas. Viciado em Internet, servidores, e em passar conhecimento. Idealizador do Devin, tem como meta aprender e ensinar muito Linux, o que ele vem fazendo desde 1997 :-)


Leia também



Comentários

3 respostas para “Shell-Script: Reconexão Automática”

  1. Renato disse:

    Script interessante, simples e funcional. =D

  2. Itallo disse:

    Muito interessante, como procedo no caso de conexão Adsl com autentificação em PPPOE ?

    Grato, Itallo

  3. Jasa SEO disse:

    Do you have free shell account to share?

Deixe uma resposta