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

Shell-Script: Reconexão Automática


Comentários  4
Visualizações  
32.396

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.

32.396

Comentários  4
Visualizações  
32.396


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

4 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. odle disse:

    Parabéns! belo passar de conhecimento.

  4. Paulo disse:

    Eu uso o Zabbix para monitorar as maquinas de alguns de meus clientes, e eles geralmente só me dão uma conexão via vpn cisco ou outra qualquer. Eu uso o vpnc para me manter atualizado com o que esta ocorrendo nos servidores deles, afinal eles me pagam pra isso.
    O problema é que as conexões vpn via adsl caem muito, mas arrumei um jeito de instalar uma vpn client em um dos meus servidores zabbix para que a conexao com o ambiente do meu cliente seja feita automaticamente e o dns dos agentes zabbix sempre estejam apontando para meu servidor.

    [root@itvix-zabbix bin]# cat conecta.sh
    #!/bin/bash
    vpnc
    boica=$(ifconfig tun0 | awk '/inet/ {print $2}')
    noip2 -i $boica

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *