while read line do MNTPNT=`echo $line|cut -d " " -f 1` WARNTHR=`echo $line|cut -d " " -f 2` CRITTHR=`echo $line|cut -d " " -f 3` CHECKTYPE=`echo $line|cut -d " " -f 4` echo "Check type =>$CHECKTYPE<=" if [ -n $CHECKTYPE ] then if [ "$CHECKTYPE" = "GB" -o "$CHECKTYPE" = "MB" ] then echo "$CHECKDISK -w $WARNTHR -c $CRITTHR -u $CHECKTYPE -p $MNTPNT > $TMPLOG" $CHECKDISK -w "$WARNTHR" -c "$CRITTHR" -u "$CHECKTYPE" -p $MNTPNT > $TMPLOG else echo "CONFIG Error or something, check it out!" exit 3 fi else echo "$CHECKDISK -w $WARNTHR\% -c $CRITTHR\% -p $MNTPNT > $TMPLOG" $CHECKDISK -w "$WARNTHR"\% -c "$CRITTHR"\% -p $MNTPNT > $TMPLOG fi WHATEXIT=$? case $WHATEXIT in 0) # Within thresholds ;; 1) # exceeded warning threshold cat $TMPLOG >> $ERRORLOG ;; 2) # exceeded critical threshold cat $TMPLOG >> $ERRORLOG echo "`cat $ERRORLOG`" exit 2 ;; *) # something weird happened echo "UNKNOWN: Please investigate!" exit 3 ;; esac done < <(grep -v "#" $CONF)