Generate disk space usage email alert

hi all members

I have a shell script to generate disk space usage email alert if threshold is more than 80 %, now the requirement changed to keep sending alert emails for every 5% incremental usage ........ Any help would be greatly appreciated.
ex - 80% , 85% ,90%,95%,100% we should get an email

#!/bin/bash
MAILTO="monitoringbox@abc.com"
Thershold=80
output=""
temp=/tmp/diskvalue
HOSTNAME=`hostname`
rm -f $temp
output=`df -H | *grep -vE '^Filesystem|tmpfs|cdrom|' awk '{ print $5 " " $6 }'`
usep=$(echo $output | awk '{ print $1}' | cut -d'%' -f1 *)
partition=$(echo $output | awk '{ print $2 }' )

if [ $usep -gt hershold ]; then
echo "Running out of space \"$partition ($usep%)\" on $(hostname) as on $(date)" >> $temp

if [ -e $temp
then
mail -s "Disk spe on $HOSTNAME $usep *`date` " $MAILTO < $temp

I tried couple of options using while loop but could not get right one
Any help is highly Appreciated

Hi,

Just to check something: if the requirement is that you get alerts at 80%, 85%, 90%, 95% and 100%, then all of these are still going to be covered by a threshold of 80%. So unless there is a particular reason you don't want alerts at (for example) 81% or 96%, then will leaving the script just to alert any time usage is above 80% not be sufficient ?

Yes that's what it is doing now
But the requirement changed to do something like this
The script should store value and keep looking if the percebtage increases with out waiting for next cycle of cronjob and send us alert

Hi,

OK, thanks. The next question that comes to mind then is: if the requirement is now to get alerts more than the cron schedule permits, how are you going to be running this script differently ? If it's going to run automatically on a schedule, then it's still going to need to be run via cron or some other similar mechanism. Would it not just be easier to make the script run more regularly by adjusting its crontab entry ?

Sorry if it seems I'm being difficult, I just want to try to be sure that you're not re-inventing the wheel here needlessly. If the existing script works fine but you just need the alerts more often, the easiest thing would just be to run the script more often.

Thank you for liking in to this

I need to change the Schudle time and need to write some thing different plan completely
I provide my current code so that to have an idea

But this is not the requirement
Alerting for every 5% increase from
The threshold value
Any suggestions how to plan ?

Hi,

OK, I think I'm starting to understand. Just to clarify: so you only want alerts when the disc space is at 5% increments from the threshold and up - i.e. at 80, 85, 90, 95 and 100 - and not at other times ? So you want an alert when it hits 80%, but don't want an alert again until it hits 85, 90, 95 or 100 ? And would you still want an alert if it was at, say 95%, and then fell to 80% or some other lower value that would normally trigger an alert ?

Hi anil529,
Ignoring everything that you and drysdalk have been discussing, someone should also note that the script that you have shown us above can't possibly be doing anything useful. Everything marked in red above will cause your script to fail in various ways (mostly syntax error for if s with not matching fi s, [ with no matching ] , hershold instead of $Thershold (and why Thershold instead of Threshold ?), cut being used to read data from a pipeline when given file operands, and an empty alternative in an ERE. (And, I make no claim that this is a complete list of the problems in your current script!) If you are trying to modify an existing working script; PLEASE show us the actual working script!