En este xicotet article compartisc un script senzill bash que m'he fet per a ser notificat automàticament quan una pàgina HTML que no disposa de RSS realitza algun canvi, en qualsevol secció de la pàgina web.
Crearem l'script avisador.sh i li donarem permissos amb:
chmod 777 ./avisador.sh
I podem executar-ho amb:
sh ./avisador.sh
O bé afegir-ho al Crontab per a que s'execute cada 2 minuts, per exemple:
*/2 * * * * ~/scripts/avisador.sh
I cada vegada que la pàgina de destí publique algun canvi, rebràs un correu electrònic automàtic informant de que hi ha hagut una modificació.
I bé, finalment ací deixe el codi bash shell:
#!/bin/bash
url="http://URL_DE_LA_PAGINA_QUE_VOLS_MONITORITZAR"
#
# Ruta temporal d'on tenim enmagatzemada la web a comparar
temp=/kunden/homepages/37/d329291155/htdocs/joancatala.net/script_avisador/joancatala
#
# Obtenim la pàgina, esborrem contingut dinàmic del newrelic i comparem amb diff
modified=$(wget -q -O $temp $url ; diff ${temp} ${temp}.1 |grep -v newrelic |grep -v -- "--" |grep -v 8c8 )
#
# Especifiquem ací la teu aadreça de correu
email="EL_TEU_CORREU_ELECTRONIC"
#
# Comprovem si s'ha modificat el fitxer amb més de 0 caracters
if [[ ! -z "$modified" && ${#modified} -gt 0 ]]; then
# S'ha modificat, així que m'enviarà un correu
#echo $url has changed $modified - modified| mail -s "CANVIS A LA WEB" ${email}
mail -s "CANVIS A LA WEB" ${email} <<< "Cos"
#
# Copia la versió actual en un segon arxiu per a comparar-ho la següent vegada
cp ${temp} ${temp}.1
fi