#!/bin/sh LogIt "compare-subroutine-me --- starting" wildpath="" if [ "$#" -ne "2" ] && [ "$#" -ne "1" ] ; then LogIt "compare-subroutine-me ()" 1 LogIt "e.g. compare-subroutine-me archives/15.afio.bz2" 1 Logit "or compare-subroutine-me archives/15.afio.bz2 /mnt/dos/*" 1 exit 1 fi archive=$1 if [ "$#" -eq "2" ] ; then wildpath=$2 fi if [ ! -f "$archive" ] ; then LogIt "Cannot find archive $archive" 1 exit 1 fi # ---------------- compare a tarball -------------- cd /mnt/RESTORING if [ "$?" -ne "0" ] ; then LogIt "Cannot cd to /mnt/RESTORING" 1 exit 1 fi if [ "`echo "$archive" | grep "\.bz2"`" != "" ]; then callstr="-P bzip2 -Z" elif [ "`echo "$archive" | grep "\.lzo"`" != "" ] ; then callstr="-P lzop -Z" elif [ "`echo "$archive" | grep "\.gz"`" != "" ]; then callstr="-Z" elif [ "`echo "$archive" | grep "\.afio"`" != "" ]; then callstr="" else LogIt "Unknown filetype - $archive" 1 exit 1 fi setno=`echo "$archive" | tr '/' '.' | tr '[:alpha:]' '.' --squeeze-repeats | cut -d'.' -f2` path=`echo "$archive" | gawk '{i=split($0,res,"/");j=1;while(j /tmp/afio.log res=$? # afio -t $callstr $archive > /tmp/rsm.lst.tmp if [ -s "$path/cklist.$setno" ] ; then # ----md5sum---- mondo-checksum $path/filelist.$setno $path/cklist.$setno /mnt/RESTORING --verify &> /tmp/mck.log r=$? res=$(($res+$r)) if [ "$r" -ne "0" ] ; then if [ "`cat /tmp/mck.log`" != "" ] ; then echo "Files which, according to md5sum, have changed:-" >> /tmp/compare-me.log cat /tmp/mck.log | tee -a /tmp/compare-me.log else LogIt "Unable to run mondo-checksum." fi fi fi else afio -r -y $wildpath $callstr $archive &> /tmp/afio.log res=$(($res+$?)) fi if [ "`cat /tmp/afio.log`" != "" ] ; then echo "Files reported by afio as changed:-" > /tmp/afio.log.mashed sed s/'afio: "'/'|'/ /tmp/afio.log | sed s/'": '/'|'/ \ | cut -d'|' -f2 | gawk '{ if (substr($0,1,1)!="/") {print"/"$0;} \ else {print $0;};};' | sort -u >> /tmp/afio.log.mashed cat /tmp/afio.log.mashed | tee -a /tmp/compare-me.log fi LogIt "compare-subroutine-me --- leaving" exit $res