Article Listing 1 Listing 2 Listing 3 Listing 4
Listing 5 Listing 6 Listing 7 Listing 8 Sidebar 1
Sidebar 2 jul2006.tar

Listing 7 /etc/ha.d/mon/mon.d/hadr.monitor

			
/etc/ha.d/mon/mon.d/hadr.monitor

#!/bin/ksh -x

. /etc/ha.d/shellfuncs

DB2HADRDBNAMES="WSI811"
#

echo "`date` :: hadr.monitor running" >> /var/log/hb.debug

tempHost=$(echo $HOSTNAME)
   case $tempHost in
       db01.example.com)
       DB2INST=db2inst1;;
       db02.example.com)
       DB2INST=db2inst1;;
   esac

exit=0
for DB2HADRDBNAME in $DB2HADRDBNAMES
do
 HADRROLE="UNKNOWN"
 HADRSTAT="UNKNOWN"
 HADRROLE=$(su - $DB2INST -c "db2pd -hadr -db $DB2HADRDBNAME" |grep \
   -A2 "HADR Information" |grep -v HADR |grep -v Role | awk '{print $1}')
 HADRSTAT=$(su - $DB2INST -c "db2pd -hadr -db $DB2HADRDBNAME" |grep \
   -A2 "HADR Information" |grep -v HADR |grep -v Role | awk '{print $2}')
    if [[ $? = "0" ]];
    then
       echo "`date` :: hadr.monitor HADR role is [$HADRROLE] status \
         [$HADRSTAT]" >> /var/log/hb.debug
       logger -i -p info -t $0 "Info: $DB2HADRDBNAME ROLE IS $HADRROLE, \
         state is in $HADRSTAT state"
    else
       echo "`date` :: hadr.monitor can't get HADR status" >> /var/log/hb.debug
       logger -i -p error -t $0 "ERROR: CAN NOT GET INFORMATION FOR \
         $DB2HADRDBNAME "
       exit=`expr $exit + 1`
    fi
done
exit $exit