Diferencia entre revisiones de «Envio mail cuando cambia IP pública»

De enunpimpam
Saltar a: navegación, buscar
 
Línea 1: Línea 1:
[[Vategory:Linux]]
+
[[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">

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/&lt;.*$//'` 

#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 &gt; $EXT_IP_FILE
   #Si es distinta la IP se envía un correo con la IP actual
   mail -s "RPI" tunombre@tucorreo.com &lt; $EXT_IP_FILE
   #Se guardan las IPs en un archivo de log
   echo $curDate $timestamp "* NUEVA IP: " $(&lt; $EXT_IP_FILE) &gt;&gt; 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

Script Original