rc.mailMyIp - Informa seu IP externo para o Gmail
Publicado por /dev/movebo (última atualização em 09/10/2010)
[ Hits: 5.753 ]
Homepage: http://devmovebo.blogspot.com
Informa seu IP externo para o Gmail.
- Mantém os endereços sincronizados para acesso via SSH através de IP dinâmico.
- Requer msmtp configurado para o Gmail e um script para automatizar a leitura e acesso no SSH server.
- Mais detalhes em < http://bit.ly/deB0dO > ou < http://www.vivaolinux.com.br/artigo/Receba-seu-IP-externo-via-email-ou-ensine-o-bash-a-ler-e-enviar-... >
#!/bin/bash # #################################################### # rc.mailMyIp # (C) Copyleft 2010 /dev/movebo # movebo{no spam}ime.usp.br # Informa seu IP externo para o gmail # Mantém os endereços sincronizados para SSH # atraves de IP dinamico. #################################################### ############### # DEFINITIONS # ############### FILE=/tmp/.mailMyIP DATE=`date +"%F %H:%M:%S"` ADDRS="zeh@gmail.com" MSMTP=`which msmtp` PING=`which ping` SED=`which sed` PRINTF=`which printf` IFCONFIG=`which ifconfig` #################### # FUNCTIONS: BEGIN # #################### MSG() { BODY="Subject: NAVI has booted, check your IP\nDate: $DATE\n\nNAVI was booted at $DATE\nNAVI IP=$IP\n" echo "$BODY" > $FILE echo "$BODY" | $MSMTP -C /root/.msmtprc $ADDRS } mailMyIp() { if [ -f $FILE ]; then OLDIP=`cat $FILE | sed '/IP=/!d;s/.*=//g'` [ "$IP" != "$OLDIP" ] && MSG else MSG fi } OK() { echo -e "\{FONTE}33[60G[ \e[32;1mOK\e[0m ]" } FAIL() { echo -e "\{FONTE}33[60G[ \e[31;1mFAIL\e[0m ]" } GET_IP() { IP=`curl -s http://www.whatismyip.com/automation/n09230945.asp` echo -n $IP } TEST_INET() { ETH0=`$IFCONFIG eth0 | sed '/inet\ /!d;s/.*r://g;s/\..*$//g'` if [ $ETH0 -ne 192 ]; then echo "Network not available" exit -1 else printf "%b" "Testing your Internet Connection:" PING_COUNT=`$PING -l3 -w1 -c3 200.160.4.2 2> /dev/null | $SED '/rec/!d;s/.*ted,\ //g;s/\ .*//g'` fi } ################## # FUNCTIONS: END # ################## case "$1" in 'start') TEST_INET if [ $PING_COUNT -eq 0 ]; then FAIL else OK echo -n " Retrieving external IP: " GET_IP if [ -n "$IP" ]; then OK echo -en " Retrieving IP from gmail: " NAVI_IP=`$HOME/bin/naviip` if [ -n "$NAVI_IP" ]; then echo -n "$NAVI_IP" OK else FAIL fi if [ "$IP" != "$NAVI_IP" ]; then echo -en " Mailing the new IP to $ADDRS" MSG OK else echo " Nothing to do." fi else FAIL fi fi ;; 'check') TEST_INET > /dev/null if [ $PING_COUNT -ne 0 ]; then GET_IP >> /dev/null if [ -n "$IP" ]; then NAVI_IP=`/usr/local/bin/naviip` [ "$IP" != "$NAVI_IP" ] && MSG fi fi ;; *) echo "usage $0 {start|check}" esac
Backup com TAR em LOG usando FITA LTO/DLT com filtro de arquivos
Backup e PHP conbinação explosiva.
Registar automáticamente o dns de uma maquina no DNS via DHCP
Executando comandos remotos usando sshpass
Nenhum comentário foi encontrado.
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Como renomear arquivos de letras maiúsculas para minúsculas
Imprimindo no formato livreto no Linux
Vim - incrementando números em substituição
Efeito "livro" em arquivos PDF
Como resolver o erro no CUPS: Unable to get list of printer drivers
Não to conseguindo resolver este problemas ao instalar o playonelinux (1)
Excluir banco de dados no xampp (1)
[Python] Automação de scan de vulnerabilidades
[Python] Script para analise de superficie de ataque
[Shell Script] Novo script para redimensionar, rotacionar, converter e espelhar arquivos de imagem
[Shell Script] Iniciador de DOOM (DSDA-DOOM, Doom Retro ou Woof!)
[Shell Script] Script para adicionar bordas às imagens de uma pasta