#!/bin/bash ##################################################################### # checkpage.sh v 0.2.3 (!c) by Michael Horn ##################################################################### # global settings ##################################################################### # where to store the copy of the page we want to compare with? storefile=/tmp/_pagecheck-storefile # what url to check url=http://www12.informatik.uni-erlangen.de/edu/ # where to send email notifies mailaddr=changeme@nibbler.de # time in minutes to wait between periodic checks checkmins=1 ##################################################################### ua="checkpage.sh by nibbler@nibbler.de" case $1 in "--help") echo usage: checkpage [fetch\|compare\|pcheck] echo echo \ \ \ \ \ \ \ fetch - fetch the page and store it in the storefile for later comparison echo \ \ \ \ \ \ \ compare - compare the file on the server with the storefile and give diff output echo \ \ \ \ \ \ \ pcheck - check periodically. if changed, notify by email echo echo due to the nature of the script you have to specify a fixed URL and a fixed echo storefile in a variable as well as email address for notifies within the script. echo exit 0 ;; "") echo for usage information see --help exit 0 ;; "fetch") wget -U $ua -q -O - $url|sed -r s/.PHPSESSID=\(.{32}\)//|sed -r s/.PHPSESSID=\(.{32}\)//>$storefile exit 0 ;; "compare") wget -U $ua -q -O - $url|sed -r s/.PHPSESSID=\(.{32}\)//|sed -r s/.PHPSESSID=\(.{32}\)//|diff $storefile - exit 0 ;; "pcheck") while true do case `wget -U $ua -q -O - $url|sed -r s/.PHPSESSID=\(.{32}\)//|sed -r s/.PHPSESSID=\(.{32}\)//|diff $storefile -` in "") sleep `echo 60*$checkmins|bc` ;; *) wget -U $ua -q -O - $url|sed -r s/.PHPSESSID=\(.{32}\)//|sed -r s/.PHPSESSID=\(.{32}\)//|diff $storefile -|sendmail $mailaddr sleep `echo 60*$checkmins|bc` ;; esac done ;; *) echo invalid syntax - please use --help exit 1 ;; esac