#!/bin/sh
# Site specific utilities
# Monitoring Disk useage
# written by Karv 17/01/2000
# modified 04/08/2000
set -x
# Cofigurable options START
# Values for identifying colours in html graph, and to trigger e-mail alert
DISK_FULL=95.00
LOW_SPACE=85.00
NORMAL=1.00
FINAL_DIR=wo3.woeth.com:/usr/local/apache/htdocs/rep/
#set location, page description and title
# NB these values are changeable here as the *top.txt will become generic
DEPOT=Thornbury
SCODE=th
PAGE1=DISK_SPACE
TITLE=Disk_usage
# Set Variables
# Date
D1=`date +%d/%m/%y%n`
# Time
D2=`date +%H:%M:%S`
# Day
D3=`date +%a`
# Logfile
LOG1=hddspace.log
#Begin creating index page
cat idle_top.txt | sed 's/DEPOT/'$DEPOT'/;s/TITLE/'$TITLE'/;s/PAGE/'$PAGE1'/;s/_/ /' | dtox > ${SCODE}_${SCODE}_diskspace.htm
echo '<div align="center"><font color="#FFFFFF"><b>DATE:</b>'$D1'<b> TIME:</b>'$D2'</div></font>' >> ${SCODE}_diskspace.htm
echo '<div align="center"><table width="90%" border="0"><tr><td width=" "><div align="center"><b><font color="#FFFF00"><u>Partition</u></font></b></div></td><td><div align="center"><font color="#FFFF00"><b><u>Total</u></font></b></font></div></td><td><div align="center"><font color="#FFFF00"><b><u>USED</u></font></b></font></div></td><td><div align="center"><font color="#FFFF00"><b><u>Graph</u></font></b></font></div></td><td><div align="center"><font color="#FFFF00"><b><u>Percentage</u></font></b></font></div></td></tr>' >> ${SCODE}_diskspace.htm
# ***** Main section ******
# Begin, Identify diskspace
dfspace | grep '^[^T*]' >> $$_FS
# Log space and date
echo "-------------- BEGIN LOGGING ---------------" >> $LOG1
echo "*** $D1 $d2 ***" >> $LOG1
dfspace | grep '^[^T*]' >> $LOG1
echo "------------- END OF LAST LOG ---------------" >> $LOG1
echo " " >> $LOG1
# End log
# Get drives
DRIVES=`egrep '^' $$_FS | awk '{ print $1 }'`
for DRIVE in $DRIVES
do
# Identify space, used and percentage
USED=`egrep '^'${DRIVE}'[^A-Za-z]' $$_FS | awk '{ print $5 }'`
TOTAL=`egrep '^'${DRIVE}'[^A-Za-z]' $$_FS | awk '{ print $8 }'`
PERCENT=`egrep '^'${DRIVE}'[^A-Za-z]' $$_FS | awk '{ print $11 }' |sed -e 's/(/ /g;s/)\./ /g'`
# Set Colours for web page
if test "$PERCENT" -ge "$DISK_FULL" ; then
COLOUR="#FF0000"
COLOUR2=red
elif test "$PERCENT" -gt "$LOW_SPACE" ; then
COLOUR="#66FFFF"
COLOUR2=blue
elif test "$PERCENT" -gt "$NORMAL" ; then
COLOUR="#33FF33"
COLOUR2=green
fi
# Add drive space to html page
echo '<tr><td width=" "><div align="center"><font color="#FFFFFF"><b>'$DRIVE'</b></font></div></td><td width=" "><div align="center"><font color="'$COLOUR'"><b>'$TOTAL'</b></font></div></td><td width=" "><div align="center"><font color="'$COLOUR'"><b>'$USED'</b></font></div></td><td><img src="'$COLOUR2.gif'" width="'$PERCENT'" height="10"></td><td width=" "><div align="center"><font color="'$COLOUR'"><b>'$PERCENT'</b></font></div></td></tr>' >> ${SCODE}_diskspace.htm
# Option for reporting very low disk space by E-Mail tests space on /u
# NB: other partitions will naturallybe small and near full by default
if [ $DRIVE -eq "/u" ] && [ $PERCENT -gt $DISK_FULL ] ; then
# message body
echo "$DRIVE at $DEPOT has Low Disk Space, it is $PERCENT full " > mailmsg.tmp
echo "***** This scan will run again in <time set to scan xx> minutes *****" >> mailmsg.tmp
echo "intranet page can be found at <html addy here>" >> mailmsg.tmp
# send message
mail -s"Low Disk Space alert!!! $DRIVE $DEPOT" kevinh@th1.theth.com < mailmsg.tmp
rm mailmsg.tmp
fi
done
# finish html
echo '</table></div>' >> ${SCODE}_diskspace.htm
cat idle_bottom.txt | dtox >> ${SCODE}_diskspace.htm
# tidyup
chmod 777 *log
chmod 777 ${SCODE}_diskspace.htm
rm $$_FS
# Move all pages to wo3 for intranet availability
gzip ${SCODE}_diskspace.htm
rcp ${SCODE}_diskspace.htm.gz $FINAL_DIR
rcmd wo3.woeth.com gzip -d $FINAL_DIR${SCODE}_diskspace.htm.gz
-------------------------------------------------------
idle_top.txt
------------------------
<html>
<head>
<title>TITLE</title>
<title>
\\Automaticlly Generated Index Page
\\For Baylis Internal Reports
\\Copyright 1999 Company Name
\\Generator Written by Karv
</title>
<title>TITLE</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<SCRIPT>
function myFunction(){
var urlselection = document.urlform.urlpopup.selectedIndex;
var sitename = document.urlform.urlpopup.options[urlselection].text;
var siteurl = document.urlform.urlpopup.options[urlselection].value;
{window.location.href = siteurl;}
}
</SCRIPT>
</head>
<body bgcolor="#333399" link="#0000FF" vlink="#FF0033" alink="#0000FF">
<div align="center"> </div>
<div align="center">
<table width="99%" border="0">
<tr>
<td width="135">
<div align="center"><font face="Impact" size="+6" color="#FF0000">Company</font>
</div>
<div align="center"><font face="Times New Roman, Times, serif" size="+1" color="#000000">Name</font>
</div>
</td>
<td width="674">
<div align="center"><font color="#FFFFFF" face="Arial, Helvetica, sans-serif"><b><i><u><font face="Times New Roman, Times, serif">DEPOT PAGE</font></u></i></b></font></div>
</td>
<td width="135">
</td>
</tr>
</table>
</div>
<hr width="90%">
------------------------------------------------------
idle_bottom.txt
---------------------------------
<p> </p>
<p></p><FORM NAME='urlform'>
<div align="center"><font face="System" color="#FFFFFF">See
Disk usage on</font>
<SELECT NAME='urlpopup' onChange="myFunction();">
<option value="wo1_diskspace.htm"> </option>
<option value="wo1_diskspace.htm">WO1</option>
<option value="wo2_diskspace.htm">WO2</option>
<option value="wo3_diskspace.htm">WO3</option>
<option value="lb_diskspace.htm">LB1</option>
<option value="pu_diskspace.htm">PU1</option>
<option value="wa_diskspace.htm">WA1</option>
<option value="go_diskspace.htm">GO1</option>
<option value="th_diskspace.htm">TH1</option>
</SELECT>
</div>
</FORM>
<div align="center">
<table width="248" border="1">
<tr>
<td>
<div align="center"><font color="#000000"><b><font color="#FF0000">© 2000
Company Name</font></b></font></div>
</td>
</tr>
</table>
</div>
</body>
</html>