Se você não está afim de usar um desses programas que verificam a alteração do ip como no-ip, dyndns, etc, pode usar esse script simples e funcional. Apesar dos outros associarem um nome ao ip, o que é mais fácil de recordar, esse vai com intuito de aprendizado.
Nesse script você vê como manipular arquivos, enviar emails, etc. Espero que seja útil.
Abraços!
#!/bin/sh
#
#
#
#path de comandos usados no script
AWK=/usr/bin/awk
GREP=/usr/bin/grep
IFCFG=/sbin/ifconfig
CAT=/bin/cat
TOUCH=/usr/bin/touch
CHMOD=/bin/chmod
#path do comando mail
MAIL="/usr/bin/mail"
# destinatários que receberão o email como o ip
TO="meu@email.com.br meuoutro@email.com"
#interface onde está setado o ip externo, válido na inet.
EXT_IF="rl1"
# armazena em EXT_IP o ip válido
EXT_IP="`$IFCFG $EXT_IF | $GREP -w inet | $AWK '{print$2}'`"
# arquivo que armazena o ip atual
ARQ="/tmp/ip.txt"
# testa se $ARQ existe, se existir armazena em $CUR_IP o valor
# de $ARQ então testa se $EXT_IP é igual a $CUR_IP ou seja,
# se o ip não mudou. Se mudou envia o ip para o email dos
# destinatários e armazena em $ARQ.
# Se $ARQ não existir então criaremos e setamos permissões de
# r+w somente para root
if [ -e $ARQ ];
then
CUR_IP="`$CAT $ARQ`"
if [ $EXT_IP == $CUR_IP ];
then
echo "NO CHANGES"
else
echo $EXT_IP | $MAIL -s "MygwIP - $EXT_IP" $TO
echo $EXT_IP > $ARQ
fi
else
$TOUCH $ARQ
$CHMOD 0600 $ARQ
echo $EXT_IP > $ARQ
echo "new file $ARQ created."
fi
Coloque na cron pra checar a cada 5 minutos e corra pro abraço! Lembrando que você necessita enviar emails, portanto configure seu smtp.