Conocer ip publica, y mandarla por correo con tarea cron

Si tienes una IP dinámica asignada por tu ISP ahora tienes una solución por si en el peor de los momentos, decide cambiartela por otra. A ver como entras por SSH o por donde quieras a tu raspberry.

Con curl haremos una petición a alguna web que te dice tu ip. En este caso a icanhazip.com

pi@raspberrypi ~ $ sudo apt-get install curl # si nos hace falta instalar curl
pi@raspberrypi ~ $ curl icanhazip.com
xxx.xxx.xxx.xxx

Para enviar correos tenemos que instalar;  sendmail y mailutils:

pi@raspberrypi ~ $ sudo apt-get install postfix mailutils

(En nuestro caso vamos a hacer relay a Gmail, por lo que tendrás que configurar tu sendmail para que puedas enviar correos a través de Gmail. Si no sabes como hacerlo, ésta es tu web)

Creamos un script básico que mande el correo:

pi@raspberrypi ~ $ vi ip.sh
#!/bin/bash

MY_IP=$(curl icanhazip.com)
echo $MY_IP > /home/pi/ip.txt
TEXT="He cambiado a la "$MY_IP
# echo $TEXT | mail enlamina@gmail.com
sleep 3
exit 0
Al ejecutar el script la IP se almacena ,además de como variable en $MY_IP, en el fichero ip.txt

Ahora damos permisos de ejecución:

pi@raspberrypi ~ $ chmod u+x ip.sh

Comprobamos el estatus de el demonio de cron y editamos /etc/crontab y añadimos linea:

pi@raspberrypi ~ $ sudo /etc/init.d/cron status
[ ok ] cron is running.

pi@raspberrypi ~ $ sudo vi /etc/crontab 

# /etc/crontab: system-wide crontab
# m h dom mon dow user  command
00 10   * * *   pi     /home/pi/ip.sh

y reiniciamos cron:

pi@raspberrypi ~ $ sudo /etc/init.d/cron restart

Editamos con la herramienta de crontab para el usuario pi y añadimos la tarea:

pi@raspberrypi ~ $ sudo crontab -u pi -e

# m h  dom mon dow   command
*/30 * * * * /home/pi/ip.sh
Anuncios

6 comentarios en “Conocer ip publica, y mandarla por correo con tarea cron

    • me sale dead.mail no ejecuta los sh bien, las ordenes sencillas si pero cron no ejecuta los scripts, probé con root y con crontab -e iguales resultados.

      Responder

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s