rc.mailMyIp - Informa seu IP externo para o Gmail
Publicado por /dev/movebo (última atualização em 09/10/2010)
[ Hits: 6.047 ]
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
Avisos de segurança do espaço em uso!
FIREWALL COM IPTABLES - PARA INTERNET DISCADA E ADSL
Script para montagem de compartilhamento SAMBA (Gentoo)
Redimensionar e fazer upload de imagens
Nenhum comentário foi encontrado.
Bluefin - A nova geração de ambientes de trabalho Linux
Como atualizar sua versão estável do Debian
Cirurgia para acelerar o openSUSE em HD externo via USB
Quer auto-organizar janelas (tiling) no seu Linux? Veja como no Plasma 6 e no Gnome
Copiando caminho atual do terminal direto para o clipboard do teclado
Script de montagem de chroot automatica
Conky não mostra temperaturas da CPU no notebook (0)
Não estou conseguindo fazer funcionar meu Postfix na versão 2.4 no Deb... (0)









