rc.mailMyIp - Informa seu IP externo para o Gmail
Publicado por /dev/movebo (última atualização em 09/10/2010)
[ Hits: 6.058 ]
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
Instalador .tar.bz2 com menu gráfico Zenity
Proc_del - Desinstalar programas compilados
Usando netstat para verificar conexões e portas
Agenda desenvolvida em Shell Script
Nenhum comentário foi encontrado.
KDE Plasma - porque pode ser a melhor opção de interface gráfica
Gentoo: detectando impressoras de rede e como fixar uma impressora por IP
Como o GNOME conseguiu o feito de ser preterido por outras interfaces gráficas
Por que sua empresa precisa de uma PKI (e como automatizar EMISSÕES de certificados via Web API)
Instalando NoMachine no Gentoo com Systemd (acesso Remoto em LAN)
Gentoo: Trocando wpa_supplicant pelo iwd no NetworkManager (Systemd)
Instalar Linux em notebook Sony Vaio VPCEG13EB (10)
Vou destruir sua infância:) (6)
Quando vocês pararam de testar distros? (24)









