#!/bin/sh # # This script will report Low Disk Space under a predefined thresh-hold (adjust below) # created June 2002 by Pete Nesbitt # this is an updated script that is very specific to the Learn server as far as filesystems and thresh-holds go. # calculate MB from kilo-bytes output MB_FACTOR=1024 # Setting directory of temporary files DISKS=/tmp/df_script.tmp KBYTES=/tmp/df_script_1.tmp MB_SIZE=/tmp/df_script_2.tmp FILESYSTEM=/tmp/df_script_3.tmp EMAIL_MESSAGE=/tmp/df_script_4.tmp DISK=/tmp/df_script_5.tmp EMAIL_RECIPIENT="pete" # see if less than "THRESH_HOLD" MegaBytes of space left on any given filesystem THRESH_HOLD_SLASH="500" THRESH_HOLD_DSK01="300" THRESH_HOLD_DSK02="200" THRESH_HOLD_DSK03="250" THRESH_HOLD_SWAP="500" df -k|grep "dev/dsk" | grep -v cdrom > $DISKS df -k|grep swap >> $DISKS while read LINE do echo $LINE|grep dsk | awk ' { print $6 } '|cut -d/ -f2 > $DISK THRESH_HOLD=$THRESH_HOLD_SLASH case `cat $DISK` in dsk01) THRESH_HOLD=$THRESH_HOLD_DSK01 ;; dsk02) THRESH_HOLD=$THRESH_HOLD_DSK02 ;; dsk03) THRESH_HOLD=$THRESH_HOLD_DSK03 ;; tmp) THRESH_HOLD=$THRESH_HOLD_SWAP ;; esac echo $LINE| awk ' { print $4 } '> $KBYTES echo "scale=0;`cat $KBYTES` / $MB_FACTOR" | bc > $MB_SIZE echo $LINE | awk ' { print $6 } ' > $FILESYSTEM if [ "`cat $MB_SIZE`" -le "$THRESH_HOLD" ]; then echo "`date`" > $EMAIL_MESSAGE echo " " >> $EMAIL_MESSAGE echo "`cat $DISKS`" >> $EMAIL_MESSAGE echo "`cat $EMAIL_MESSAGE`" | mailx -s "!!!! WARNING ONLY `cat $MB_SIZE` MB's on `cat $FILESYSTEM` !!!!" $EMAIL_RECIPIENT fi done < $DISKS rm -f $DISKS $KBYTES $MB_SIZE $FILESYSTEM $EMAIL_MESSAGE $DISK exit