Enviar el número de IP externa y estado del sistema a una cuenta de email.-
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
#!/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 |