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




###############################################################################
###############################################################################
# scambio chiavi nagios - user remoto
# Setting environment

# Note:
#   codici di ritorno per Nagios:
#   0 = OK
#   1 = WARNING
#   2 = CRITICAL
#   3 = UNKNOWN

PROGNAME=`basename $0`
PROGPATH=`echo $0 | sed -e 's,[\\/][^\\/][^\\/]*$,,'`
REVISION=`echo '$Revision: 1.0 $' | sed -e 's/[^0-9.]//g'`
STATE_OK=0
STATE_WARNING=1
STATE_CRITICAL=2
STATE_UNKNOWN=3

print_usage() {
  echo "Usage:"
  echo "  $PROGNAME     "
  echo "specify HP when HP-UX os"
  exit 3
}

if  [ $# -lt 3 ] || [ $# -gt 5 ];
        then print_usage;
fi

WAR_LIMIT=$2
CRIT_LIMIT=$3


if [ $# -eq  4 ] && [ ! "$4" == "HP" ]
        then
        FILESYSTEM="$4"
        DF="df -k"
elif [ $# -eq  5 ];
        then
        # caso HP con grep FS
        FILESYSTEM="$5"
        DF="bdf"
elif [ $# -eq 4 ] && [ "$4" == "HP" ]
        # altre
        then
FILESYSTEM=$(ssh -l user $1 bdf |awk '{ if ( $6 ~ /^\// )  {print $6 } else { print $5 }}'|egrep -v "cdrom|run|proc|mnttab|used|mnt")
        DF="bdf"
else
#       FILESYSTEM=$(ssh -l user $1 df -k|awk '{print $6}'|egrep -v "/dev/fd|Mounted|Disponib|cdrom|run|proc|mnttab|mnt")
        FILESYSTEM=$(ssh -l user $1 df -k|awk '{ if ( $6 ~ /^\// )  {print $6 } else { print $5 }} '|egrep -v "/dev/fd|Mounted|Disponib|cdrom|run| proc|mnttab|mnt|shm|Use")
        DF="df -k"
fi

for FS in $FILESYSTEM
do
  OCCUPAZIONE=$(ssh -l user $1 $DF $FS | awk '{if ( $4 ~ /%/ )  {print $4 } else { print $5 } }' |tail -1| tr -d %)
  if [ "$OCCUPAZIONE" -ge $3  ]
  then
        errmsg="$errmsg CRITICAL: $FS ha raggiunto il livello $OCCUPAZIONE% di occupazione"
        critflag="1"
  elif [ "$OCCUPAZIONE" -ge $2 ]
  then
        errmsg="$errmsg WARNING: $FS ha raggiunto il livello $OCCUPAZIONE% di occupazione"
        warnflag="1"
  fi
done
if [ "$critflag" == "1" ]; then
   echo -e $errmsg
   exit 2
elif [ "$warnflag" == "1" ]; then
   echo -e $errmsg
   exit 1
else
   echo "File system is OK"
   exit 0
fi





:q!