Diferencia entre revisiones de «Envio mail cuando cambia IP pública»
De enunpimpam
								
												
				|  (Página creada con «Vategory:Linux Debido a que todos los servicios de actualización de dynamic DNS ya estan combrado, y si solo queremos tener constacia de cual es la IP publica lo mas s…») | |||
| (No se muestra una edición intermedia del mismo usuario) | |||
| Línea 1: | Línea 1: | ||
| − | [[ | + | [[Category:Linux]] | 
| Debido a que todos los servicios de actualización de dynamic DNS ya estan combrado, y si solo queremos tener constacia de cual es la IP publica lo mas sencillo es este script. | Debido a que todos los servicios de actualización de dynamic DNS ya estan combrado, y si solo queremos tener constacia de cual es la IP publica lo mas sencillo es este script. | ||
| <syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
| Línea 25: | Línea 25: | ||
|   echo $CURRENT_IP > $EXT_IP_FILE |   echo $CURRENT_IP > $EXT_IP_FILE | ||
|     #Si es distinta la IP se envía un correo con la IP actual |     #Si es distinta la IP se envía un correo con la IP actual | ||
| − |     mail -s "RPI"  | + |     mail -s "RPI" tunombre@tucorreo.com < $EXT_IP_FILE | 
|     #Se guardan las IPs en un archivo de log |     #Se guardan las IPs en un archivo de log | ||
|     echo $curDate $timestamp "* NUEVA IP: " $(< $EXT_IP_FILE) >> log.txt    |     echo $curDate $timestamp "* NUEVA IP: " $(< $EXT_IP_FILE) >> log.txt    | ||
| fi | fi | ||
| </syntaxhighlight> | </syntaxhighlight> | ||
| + | Asignamos permisos de ejecución. | ||
| + |  chmod +x ip.sh | ||
| + | Automatizamos la ejecución del script mediante crontab | ||
| + | |||
| + |  crontab -e | ||
| + | |||
| + | Se ejecute el primer minuto de cada hora el script | ||
| + | |||
| + |  01 * * * * /root/ip.sh | ||
| + | |||
| + | [https://gitlab.com/snippets/1688526| Script Original] | ||
Revisión actual del 00:03 29 abr 2020
Debido a que todos los servicios de actualización de dynamic DNS ya estan combrado, y si solo queremos tener constacia de cual es la IP publica lo mas sencillo es este script.
#!/bin/bash #define archivo donde almacena la ip pública actual EXT_IP_FILE="/root/ipactual" timestamp=$( date +%T ) curDate=$( date +"%d-%m-%y" ) #Conseguir la IP pública CURRENT_IP=`wget -q -O - checkip.dyndns.org|sed -e 's/.*Current IP Address: //' -e 's/<.*$//'` #Si existe el archivo se saca la IP que había if [ -f $EXT_IP_FILE ]; then KNOWN_IP=$(cat $EXT_IP_FILE) else #Si no existe el archivo se crea y se guarda la IP pública actual KNOWN_IP= touch ipactual KNOWN_IP=$(cat $EXT_IP_FILE) fi #Comprueba si la IP actual ha cambiado de la IP que se había guardado if [ "$CURRENT_IP" != "$KNOWN_IP" ]; then echo $CURRENT_IP > $EXT_IP_FILE #Si es distinta la IP se envía un correo con la IP actual mail -s "RPI" tunombre@tucorreo.com < $EXT_IP_FILE #Se guardan las IPs en un archivo de log echo $curDate $timestamp "* NUEVA IP: " $(< $EXT_IP_FILE) >> log.txt fi
Asignamos permisos de ejecución.
chmod +x ip.sh
Automatizamos la ejecución del script mediante crontab
crontab -e
Se ejecute el primer minuto de cada hora el script
01 * * * * /root/ip.sh