LINUX – Shell script para enviar el número de IP externa.

Enviar el número de IP externa y estado del sistema a una cuenta de email.-

#!/bin/sh

# ip-trace.sh
# Autor Alejandro Amaral - Creative Commons Reconocimiento-CompartirIgual 3.0 Unported License
#---------------------------------------------------------------------------
# Envia el numero de ip externa y un reporte de uso a una casilla de email.
#---------------------------------------------------------------------------
# La función reporte() se encarga de generar un reporte con los datos mas
# relevantes (uso de cpu, quien esta loggeado y las ultimas lineas del
# log de sistema). El script pide al sitio http://www.showmyip.com.ar/ la dirección
# externa de ip y el sitio devuelve una pagina de donde es extraída
# para ser almacenada en la variable MYIP. Luego si el archivo REPORT
# no existe entonces es creado y se envía el reporte vía mail. En caso
# de que exista se compara con la ultima dirección solicitada y si son
# iguales no se manda el reporte y así evitar una saturación de mails
# en la casilla. Si no fueran iguales se envía la nueva dirección de ip
# y el reporte. Cada vez que se corre el script se genera una nueva
# entrada en el log del sistema indicando el resultado de la operación.

REPORT=/tmp/report.txt

reporte()
{
  echo $MYIP > $REPORT
  uptime >> $REPORT
  echo -e "\n=========== Logged in ============" >> $REPORT
  last -n 5 >> $REPORT
  echo -e "\n============ last log ============" >> $REPORT
  tail -n 10 /var/log/messages >> $REPORT
  mail -s "$MYIP Report" tu_direccion_de_mail@hotmail.com < $REPORT
  logger iptrace enviado con exito
  return
}
# Adquirir la direccion de IP desde una consulta a http://www.showmyip.com.ar/
MYIP=`wget -qO - http://www.showmyip.com.ar/ | grep -Eo -m 1 "[[:digit:]]{1,3}\.[[:digit:]]{1,3}\.[[:digit:]]{1,3}\.[[:digit:]]{1,3}"`

if [ ! -f $REPORT ]
then
  touch $REPORT
  reporte
else
  LASTIP=`head -n 1 $REPORT`
  if [ $LASTIP == $MYIP ]
  then
    logger iptrace ip sin cambios
  else
    reporte
  fi
fi
Esta entrada fue publicada en Unix - Linux. Guarda el enlace permanente.

Deja una respuesta

Tu dirección de correo electrónico no será publicada.