rc.mailMyIp - Informa seu IP externo para o Gmail
Publicado por /dev/movebo (última atualização em 09/10/2010)
[ Hits: 6.038 ]
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
Criar pacotes .deb apartir de script
Apostila interativa de linux (incompleto)
Removendo kernels antigos no Ubuntu
Enviar mensagens Via Net Send no Linux
Um super limpador do sistema KDu
Nenhum comentário foi encontrado.
Cirurgia para acelerar o openSUSE em HD externo via USB
Void Server como Domain Control
Modo Simples de Baixar e Usar o bash-completion
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
Como bloquear pendrive em uma rede Linux
Um autoinstall.yaml para Ubuntu com foco em quem vai fazer máquina virtual
Instalar GRUB sem archinstall no Arch Linux em UEFI Problemático
Como impedir exclusão de arquivos por outros usuários no (Linux)
Alguém executou um rm e quase mata a Pixar! (6)
Formas seguras de instalar Debian Sid (9)
Duas Pasta Pessoal Aparecendo no Ubuntu 24.04.3 LTS (12)
Alguém pode me indicar um designer freelancer? [RESOLVIDO] (5)
Por que passar nas disciplinas da faculdade é ruim e ser reprovado é b... (6)









