#!/bin/bash# diFFurl (A website content checker.) # Version 0.2b (09062006) # # # TODO: Correct nagios error codes. # # This is a site content check for Nagios, # this will grab index from sites specified # in .content-check-urls. Store MD5 hash if not # stored. Otherwise, it will compare with MD5 hash # on the machine. It will only output if a site's MD5 # hash isn't the same as the stored version. URL_FILE=/home/contentcheck/.content-check-urls URL_DIR=/home/contentcheck/.content-check if ! [ -d $URL_DIR ]; then mkdir $URL_DIR fi if ! [ -f $URL_FILE ]; then echo "new-content-check: $URL_FILE not found" exit fi for URL in $(cat $URL_FILE); do MD5_FILE=$URL_DIR/$(echo $URL | md5sum | cut -d' ' -f1) if [ -f $MD5_FILE ]; then links -dump "$URL" | md5sum > $MD5_FILE.new if ! diff $MD5_FILE $MD5_FILE.new &>/dev/null; then echo "New content at $URL" mv -f $MD5_FILE.new $MD5_FILE else rm $MD5_FILE.new echo "No content has been changed." exit fi else links -dump "$URL" | md5sum > $MD5_FILE fi done
I'm not using this anymore, instead opting for a http_check of each virtual host. The content check is a difficult challenge that I'll need to do some more thinking on.