#! /bin/sh
#; cdf.sh - check disk free; very simple check for disk usage.
#;          good on flow machines when you take long weekends.
#; 20040401 -- haha, april fools!
#; epancer @ security.depaul.edu
#;
#; $Id: cdf.sh,v 1.1 2004/04/07 07:28:36 epancer Exp $
#;

PATH="/sbin:/usr/sbin:/bin:/usr/bin"
MAILTO="alert@example.org"
CHECK="$1"
LIMIT="91"
USED="`df $1 | egrep '^/dev' | awk '{ print $5 }'  | awk -F% '{ print $1 }'`"
HOST="`hostname`"

mailalert () {
 echo "$HOST-df: $USED% used on $CHECK" | \
 mail -s "ALERT: $HOST-df - $USED% used on $CHECK" alert@example.org
}

logalert () {
 logger -p daemon.crit -t $HOST-df $USED% used on $CHECK
}

if [ -z $CHECK ]; then
 echo "usage: cdf.df [ filesystem ]"
 exit 2
fi

if [ $USED -ge $LIMIT ]; then
 mailalert
 logalert
fi

exit 0
