trouble with outputting html to check vmfs volumes

Hi - I found a script on the web to check vmfs volumes on ESX servers and create an html file for the output. Sometimes the script works fine, but sometimes it seems to break at the "vdf -h -P" line. More often than not, when I run it myself it works - but when run from chron it usually fails. If you have any ideas on what I've done wrong, thanks in advance.

Here's the script:

######## vmfs_check.sh ##########
#!/bin/bash
LOGLOC="/var/log/"
LOG="${LOGLOC}vdf.html"
MYDATE=$(date +%d-%b-%Y)
VMFSYELLOW=85
VMFSRED=90
cat /dev/null > "${LOG}"
echo "<html>" >> "${LOG}"
echo "<head>" >> "${LOG}"
echo "<style>" >> "${LOG}"
echo "body {margin: 10px; width: 600px; font-family:arial; font-size: 11px;}" >> "${LOG}"
echo "div#footer {font-size: 9px;}" >> "${LOG}"
echo "</style>" >> "${LOG}"
echo "</head>" >> "${LOG}"
echo "<body>" >> "${LOG}"
echo "<table cellspacing="0" cellpadding="2" border="1"; style='border-collapse:collapse; background-color: white; color: black'>" >> "${LOG}"
echo "<tr><th colspan='5'; align='left'; style='background-color: rgb(179,179,179); color: black'>" >> "${LOG}"
echo "VMFS Disk Usage - $MYDATE</th></tr>" >> "${LOG}"
echo "" >> "${LOG}"
echo "<tr>" >> "${LOG}"
echo "<td width=200><b>VMFS Volume</b></td><td><b>Disk Size</b></td><td><b>Used</b></td><td><b>Available</b></td><td><b>Percentage</b></td>" >> "${LOG}"
echo "</tr>" >> "${LOG}"
vdf -h -P | grep -E '^/vmfs/volumes/' | awk '{ print $2 " " $3 " " $4 " " $5 " " $6 " " $7 }' | while read output ; do
DISKSIZE=$(echo $output | awk '{ print $1 }' )
DISKUSED=$(echo $output | awk '{ print $2 }' )
DISKAVAILABLE=$(echo $output | awk '{ print $3 }' )
PERCENTINUSE=$(echo $output | awk '{ print $4 }' )
VOLNAME=$(echo $output | awk '{ print $5 " " $6}' )
CUTPERC=$(echo $PERCENTINUSE | cut -d'%' -f1 )
WARNING="white"
if [ $CUTPERC -ge $VMFSYELLOW ] ; then
WARNING="yellow"
fi
if [ $CUTPERC -ge $VMFSRED ] ; then
WARNING="red"
fi
echo "<tr><td style='background-color: ${WARNING}'>$VOLNAME</td>" >> "${LOG}"
echo "<td bgcolor='${WARNING}'>$DISKSIZE</td>" >> "${LOG}"
echo "<td bgcolor='${WARNING}'>$DISKUSED</td>" >> "${LOG}"
echo "<td bgcolor='${WARNING}'>$DISKAVAILABLE</td>" >> "${LOG}"
echo "<td bgcolor='${WARNING}'>$PERCENTINUSE</td></tr>" >> "${LOG}"
done
echo "</table>" >> "${LOG}"
echo "<div id='footer'> </div>" >> "${LOG}"
echo "</body>" >> "${LOG}"
echo "</html>" >> "${LOG}"

###########################
Here's the output I get when things break:

<html>
<head>
<style>
body {margin: 10px; width: 600px; font-family:arial; font-size: 11px;}
div#footer {font-size: 9px;}
</style>
</head>
<body>
<table cellspacing=0 cellpadding=2 border=1; style='border-collapse:collapse; background-color: white; color: black'>
<tr><th colspan='5'; align='left'; style='background-color: rgb(179,179,179); color: black'>
VMFS Disk Usage - 13-May-2009</th></tr>
<tr>
<td width=200><b>VMFS Volume</b></td><td><b>Disk Size</b></td><td><b>Used</b></td><td><b>Available</b></td><td><b>Percentage</b></td>
</tr>
</table>
<div id='footer'> </div>
</body>
</html>

###############################
Here's the output I get when all goes well:

<html>
<head>
<style>
body {margin: 10px; width: 600px; font-family:arial; font-size: 11px;}
div#footer {font-size: 9px;}
</style>
</head>
<body>
<table cellspacing=0 cellpadding=2 border=1; style='border-collapse:collapse; background-color: white; color: black'>
<tr><th colspan='5'; align='left'; style='background-color: rgb(179,179,179); color: black'>
VMFS Disk Usage - 14-May-2009</th></tr>
<tr>
<td width=200><b>VMFS Volume</b></td><td><b>Disk Size</b></td><td><b>Used</b></td><td><b>Available</b></td><td><b>Percentage</b></td>
</tr>
<tr><td style=background-color: white>/vmfs/volumes/storage1 (1)</td>
<td bgcolor='white'>60G</td>
<td bgcolor='white'>11G</td>
<td bgcolor='white'>48G</td>
<td bgcolor='white'>19%</td></tr>
<tr><td style=background-color: red>/vmfs/volumes/AXOLH VMFS1</td>
<td bgcolor='red'>399G</td>
<td bgcolor='red'>362G</td>
<td bgcolor='red'>37G</td>
<td bgcolor='red'>90%</td></tr>
<tr><td style=background-color: yellow>/vmfs/volumes/AXOLH VMFS3</td>
<td bgcolor='yellow'>399G</td>
<td bgcolor='yellow'>345G</td>
<td bgcolor='yellow'>54G</td>
<td bgcolor='yellow'>86%</td></tr>
<tr><td style=background-color: white>/vmfs/volumes/AXOLH VMFS2</td>
<td bgcolor='white'>399G</td>
<td bgcolor='white'>332G</td>
<td bgcolor='white'>67G</td>
<td bgcolor='white'>83%</td></tr>
<tr><td style=background-color: white>/vmfs/volumes/AXOLH VMFS0</td>
<td bgcolor='white'>249G</td>
<td bgcolor='white'>72G</td>
<td bgcolor='white'>177G</td>
<td bgcolor='white'>29%</td></tr>
<tr><td style=background-color: white>/vmfs/volumes/AXOLH VMFS4</td>
<td bgcolor='white'>399G</td>
<td bgcolor='white'>339G</td>
<td bgcolor='white'>60G</td>
<td bgcolor='white'>84%</td></tr>
<tr><td style=background-color: yellow>/vmfs/volumes/AXOLH VMFS5</td>
<td bgcolor='yellow'>399G</td>
<td bgcolor='yellow'>344G</td>
<td bgcolor='yellow'>55G</td>
<td bgcolor='yellow'>86%</td></tr>
<tr><td style=background-color: white>/vmfs/volumes/AXOBU1 -</td>
<td bgcolor='white'>1.8T</td>
<td bgcolor='white'>372G</td>
<td bgcolor='white'>1.5T</td>
<td bgcolor='white'>20%</td></tr>
<tr><td style=background-color: white>/vmfs/volumes/AXOIT1 -</td>
<td bgcolor='white'>59G</td>
<td bgcolor='white'>42G</td>
<td bgcolor='white'>17G</td>
<td bgcolor='white'>70%</td></tr>
</table>
<div id=footer> </div>
</body>
</html>

thanks again

How would you normally run it from the command prompt. What shell does it use to run manually. The script seems to be using #!/bin/bash. You may want to fid out that first.

cheers,
Devaraj Takhellambam

Linux is not my strong suit, so please bear with me. Not sure about the shell, but I run it like this from the command line:

./vmfs_check.sh

I ran "whereis bash" and bash is located at bin/bash