#! /bin/sh GOLD=/usr/local/repository MOLD=/usr/local/suppository NBUB=/usr/openv/netbackup/bin NBUBA=/usr/openv/netbackup/bin/admincmd NBUBG=/usr/openv/netbackup/bin/goodies DATE=`date '+%Y-%m-%d'` PATH=$PATH:/usr/local/bin ##################################################################### # The directory /usr/local/repository contains files that demonstrate # the condition of policies on a given day. They are used for the GOLD # state of a known good condition. They should only be updated if there # is a permanent change to a NetBackup policy. # # to update a a single policy configuration # bppllist (policyname) -U > /usr/local/repository/(policyname).gold # # to add or remove a policy from the list of policies edit the file # vi /usr/local/repository/policylist.gold # # to create a new list of all policies that run # bppllist -l -allpolicies | awk '/^CLASS/ {print $2}' > /usr/local/repository/policylist.gold # # to create all new gold policies run this for loop # for i in `bppllist -l -allpolicies | awk '/^CLASS/ {print $2}'` # do # bppllist $i -U > /usr/local/repository/$i.gold # done ##################################################################### # Pre Kleenups to remove tarfiles over 30 days old and to flush out the suppository find $GOLD -name *.gz -a -mtime +30 -exec rm -f {} \; find $MOLD -type f -exec rm -f {} \; # start building the logfile echo "Report on policies changed in the LEVERAGED environment " >> $MOLD/LOG_$DATE echo "" >> $MOLD/LOG_$DATE # create a tarfile of the policies cd /usr/openv/netbackup/db/class tar cpf $GOLD/policies.tar_$DATE * gzip -f $GOLD/policies.tar_$DATE echo "" >> $MOLD/LOG_$DATE echo "A tarfile of todays policies has been written to:" >> $MOLD/LOG_$DATE echo "/usr/local/repository" >> $MOLD/LOG_$DATE echo "" >> $MOLD/LOG_$DATE # Determine if any policies have been removed or added $NBUBA/bppllist -l -allpolicies | awk '/^CLASS/ {print $2}' > $MOLD/policies_$DATE echo "###########################################" >> $MOLD/LOG_$DATE echo "" >> $MOLD/LOG_$DATE echo " The policies marked with > have been added" >> $MOLD/LOG_$DATE echo "" >> $MOLD/LOG_$DATE echo " The policies marked with < have been removed" >> $MOLD/LOG_$DATE echo "" >> $MOLD/LOG_$DATE diff $GOLD/policylist.gold $MOLD/policies_$DATE >> $MOLD/LOG_$DATE # Determine what policies changed # gather the policies for i in `cat $MOLD/policies_$DATE` do $NBUBA/bppllist $i -U > $MOLD/$i done echo "" >> $MOLD/LOG_$DATE echo "" >> $MOLD/LOG_$DATE echo "###########################################" >> $MOLD/LOG_$DATE echo " The following is the list of policies" >> $MOLD/LOG_$DATE echo " and any changes since yesterday" >> $MOLD/LOG_$DATE echo "" >> $MOLD/LOG_$DATE echo " NOTE:" >> $MOLD/LOG_$DATE echo " < Is what it was yesterday" >> $MOLD/LOG_$DATE echo " > Is what it is today" >> $MOLD/LOG_$DATE echo "###########################################" >> $MOLD/LOG_$DATE echo "" >> $MOLD/LOG_$DATE echo "" >> $MOLD/LOG_$DATE # compare them to gold for i in `cat $MOLD/policies_$DATE` do echo $i >> $MOLD/LOG_$DATE diff $GOLD/$i.gold $MOLD/$i >> $MOLD/LOG_$DATE echo "------------------------------------" >> $MOLD/LOG_$DATE done # email results mailx -s "LEVERAGED NetBackup policy changed" "mickey.mouse@disney.com,donald.duck@disney.com" < $MOLD/LOG_$DATE