Eu sempre acesso o meu micro remotamente. Sempre. Tenho IP dinâmico e uma conta no DynDns.org que o meu roteadorzinho está sempre atualizando, porém essa semana ele não atualizou o endereço, deu uma mensagem que não conseguiu e só! O router não é aberto o suficiente para que eu possa debugar melhor.
Resultado, escrevi esse script para verificar meu ip no site http://whatismyip.com, e, se ele tiver sido alterado, ele envia um e-mail para mim com o novo IP.
Bem simples, já devem ter milhares de scripts assim mundo afora.
De qualquer forma deixo ele aqui para quem quiser.
Pré Requisitos:
Navegador modo texto (recomendado: links)
E-mail modo texto (recomendado: nail)
Primeira coisa é configurar o nail para enviar os emails pra você, adicione as seguintes linhas no ~/.mailrc (dependendo da versão pode ser ~/.nailrc)
account <NOME DA CONTA> { set imap-use-starttls set smtp-use-starttls set folder=imap://<SEU USUARIO>@gmail.com set smtp=smtp://smtp.gmail.com:587 set from="<SEU USUARIO>@gmail.com <Descrição Opcional>" set smtp-auth=login set smtp-auth-user=<SEU USUARIO> set smtp-auth-password=<SUA SENHA> set MBOX=~/.maildir }
E aqui está o script:
https://sourceforge.net/projects/getip-script/files/
É só baixar o getIP.sh e colocar pra correr na crontab, normalmente eu deixo ele ser executado de 5 em 5 minutos, dessa forma:
0,5,10,15,20,25,30,35,40,45,50,55 * * * * /opt/getIP/getIP.sh
Mas antes de sair executando, é altamente aconselhável checar o valor das variáveis do script e configurar de acordo com o que for melhor pra você e para o seu sistema:
PREVIOUS_IP é Arquivo contendo o IP anterior a essa execução do script, será sempre gerado quando o script for executado e é usado para que o script possa comparar o IP anterior com o atual:
PREVIOUS_IP='/opt/getIP/previous_ip'
Web Browser modo texto que será usado pelo script:
LINKS='/usr/bin/links'
Opções que devem ser passada para o web browser:
LINKS_OPTIONS='-dump'
Arquivo de log:
LOG='/opt/getIP/getIP.log'
Arquivo de temporário (é sempre apagado):
TMPFILE='/opt/getIP/ip.tmp'
Segundo arquivo temporário ( é sempre apagado):
TMPFILE2='/opt/getIP/mail.tmp'
Email ao qual se devem enviar as mudanças de IP:
TOEMAIL='<SEU EMAIL>'
Nome da conta de email definida em ~/.mailrc:
EMAILACCOUNT='<NOME DA CONTA>'
Aplicação de email que deve ser utilizada pelo script:
MAIL='/usr/bin/nail'
Tamanho máximo, em linhas, do arquivo de log:
MAXLOGLINES=5000
LOGTMP é um arquivo de log temporário que será gerado e apagado em cada execução do script:
LOGTMP='/opt/getIP/getIP-2.log'
IPSITE é o endereço que vamos acessar para descobrir nosso IP, é útil caso a máquina esteja numa sub-rede e não tenha um IP válido na internet:
IPSITE='http://whatismyip.com/automation/n09230945.asp'
MAILERROR é a mensagem que o nail gera quando não consegue enviar um email, caso encontremos essa mensagem na última linha do log vamos enviar um email outra vez mesmo que o email anterior seja o mesmo que o atual:
MAILERROR=". . . message not sent."
O $USEIF se estiver como “false” vai usar o IP retornado pelo acesso a página definida em $IPSITE, senão vai usar o output do ifconfig, essa opção é útil para máquinas que estão em uma sub-rede e que não tem IPs válidos na internet:
USEIF="false"
Eu criei um projeto no sourceforge.net para esse script, licensiado sobre GPL, portanto qualquer um que achar o script útil e quiser fazer melhorias está muito bem vindo!
O projeto está em:
https://sourceforge.net/projects/getip-script
Como instalar o nail no ubuntu?
Valeu!
Já tentou: “aptitude install nail” ?