maniu@securebrain.com:~/script# vi chkfs.sh



#!/bin/bash --posix

################################################################################
# check fs status against a specific limit
################################################################################

# Setting environment
#--------------------
LOGFILE="/usr/local/log/chkfs.log"
exec 2>&1 > $LOGFILE

MAILER="/usr/bin/mailx"
SUBJECT="$0@`hostname`): problemi di spazio sul Filesystem"

ROOT_LIMIT=85
GEN_LIMIT=90 #limite per filesystem generico
ALERT=no
FILESYSTEM=`df -k |awk '{print $6}'|grep -v /dev/fd|grep -v Mounted`

# Tagging script begin
# --------------------
echo "<SCRIPT BEGIN `date`>"
echo "-----------------------------------------------"
echo ""

for FS in $FILESYSTEM
do
  OCCUPAZIONE=$(df -k $FS | tail -1 | awk '{print $5}' | tr -d %)
  case $FS in
    "/" ) SOGLIA=${ROOT_LIMIT} ;;
    * ) SOGLIA=${GEN_LIMIT} ;;
  esac
  if [[ ${OCCUPAZIONE} -eq ${SOGLIA} ]]
  then
    echo "Attenzione! \"$FS\" ha raggiunto il valore SOGLIA di ${SOGLIA}%"
    echo ""
    ALERT=yes
  elif [[ ${OCCUPAZIONE} -gt ${SOGLIA} ]]
  then
    echo "ATTENZIONE! $FS (${OCCUPAZIONE}%) ha superato la soglia di ${SOGLIA}%"
    echo ""
    ALERT=yes
  fi
done

# Tagging script termination
# --------------------------
echo "<SCRIPT END `date` >"
echo "---------------------------------------------"
echo ""

# Mailing sys-admins
# -----------------
if [[ ${ALERT} = "yes" ]]
then
  for n in $(cat /usr/local/script/sysadmin.list)
  do
    $MAILER -s "$SUBJECT" $n < $LOGFILE
  done
fi





:q!