Notification via email de cambios en una pagina web

Este es un requerimiento recurrente, un usuario ‘requiere’ saber cuando hay cambios en una página web, pero no quiere usar servicios de terceros, usualmente debido a que la página esta dentro de una intranet.

Bien, este requerimiento fue algo más allá, no solo quería saber cuando es cambiada, tambien queria saber cuando volvía a su estado original.

Bien, esto se logro via curl

#!/bin/bash

cd /path/to/script

/usr/bin/curl -sO http://www.example.com/index.php
emailm="/tmp/email_body.txt"

if ! /usr/bin/diff -q index.php_org index.php > /dev/null ; then
if ! /usr/bin/diff -q index.php_parsed index.php > /dev/null ; then
echo "Hay cambios en index.php" > $emailm
echo " " >> $emailm
echo "Page change BOT - 2013" >> $emailm
echo " " >> $emailm
/usr/bin/mail -s "Cambio en index.php" de @ example.com < $emailm
cp index.php index.php_parsed
fi
fi

Este script lo corremos via cron, generalmente una vez por minuto es suficiente.
El único requisito previo es ejecutar

/usr/bin/curl -sO http://www.example.com/index.php
cp index.php index.php_org

Antes del script, esto genera el archivo base para verificar los cambios.
El archivo index.php_parsed, es el que lleva control del último cambio realizado, y evita que nos lleguen alarmas sucesivas por el mismo cambio.

Saludos

Deja tu comentario

%d bloggers like this: