ISM reporting
Posted in 2004
#!/usr/bin/ksh TEMPFILE=/tmp/ism.tmp ISM_SHOW="su - informix -c /informix/DEV/bin/ism_show" ISM_REPORT=/tmp/ism.rpt # Create the TEMPFILE # Get Admins from ISM server echo "<admin1>" > $TEMPFILE #on ${ISM_SHOW} -admins >> $TEMPFILE echo "<admin0>" >> $TEMPFILE #off # Get Configs from ISM server echo "<config1>" >> $TEMPFILE ${ISM_SHOW} -config >> $TEMPFILE echo "<config0>" >> $TEMPFILE # Get Devices attached to ISM server echo "<device1>" >> $TEMPFILE ${ISM_SHOW} -devices >> $TEMPFILE echo "<device0>" >> $TEMPFILE # Get volumes from ISM server echo "<volumez1>" >> $TEMPFILE ${ISM_SHOW} -volumes >> $TEMPFILE echo "<volumez0>" >> $TEMPFILE # first we'll perform some simple edits to clean # the report up mv $TEMPFILE $TEMPFILE.old cat $TEMPFILE.old | sed -e 's/^ *//' | sed -e '/MAIL/d' | sed -e 's/;$//' > $TEMPFILE # Start the report... echo "-------------------------------------------------------------------------" > $ISM_REPORT echo "ISM daily report - `hostname`" >> $ISM_REPORT awk '/admin1/,/admin0/' $TEMPFILE | awk '(gsub(/administrator:/,"Administrator:")) {print}' >> $ISM_REPORT echo "-------------------------------------------------------------------------" >> $ISM_REPORT echo "" >> $ISM_REPORT echo "[Configuration Parameters]" >> $ISM_REPORT echo "" >> $ISM_REPORT awk '/config1/,/config0/' $TEMPFILE | awk '/parallelism/||/policy/ {print}' >> $ISM_REPORT echo "" >> $ISM_REPORT echo "" >> $ISM_REPORT echo "[Devices on `hostname`]" >> $ISM_REPORT echo "" >> $ISM_REPORT awk '/device1/,/device0/' $TEMPFILE | awk '(gsub(/\\,/,"")) {print "Device: "$6"\\tType: "$2"\\nVolume Label: "$3"\\nStatus :"$7" "$8"\\n\\n"}' >> $ISM_REPORT echo "" >> $ISM_REPORT echo "" >> $ISM_REPORT echo "[Volume History]" >> $ISM_REPORT echo "" >> $ISM_REPORT awk '/volumez1/,/volumez0/' $TEMPFILE |grep -v volumez | awk '{ print }' >> $ISM_REPORT echo "" >> $ISM_REPORT echo "" >> $ISM_REPORT echo "[Savesets from last known backup]" >> $ISM_REPORT # Look at the next line of code and make sure you do not use the # word volume to label any of your tapes or disks with... awk '/volumez1/,/volumez0/' $TEMPFILE | grep -v volume | awk '{print "\\n\\n["$1"]"; system ("su - informix -c /informix/DEV/bin/ism_show -volume "$1) }' > $TEMPFILE.old cat $TEMPFILE.old | sed -e '/MAIL/d' >> $ISM_REPORT if [ -e $ISM_REPORT ] then cat $ISM_REPORT | mailx -s "ISM report `date`" root else echo "error generating ISM report `date`" | mailx -s "ISM report error" root fi