Bagaimana mengecek jumlah file yang ada dalam sebuah folder?, bila file yang terdapat dalam sebuah folder melebihi batas maksimum/kosong yang telah kita tentukan, maka nagios mengirimkan pesan.
#!/bin/bash
# Standard Nagios return codes
#OK = 0
#WARNING = 1
#CRITICAL = 2
#UNKNOWN = 3
#SUPGEN.csv.base
usage()
{
echo "usage: check_file [-c critical_value] [-d directory_path]"
echo
echo "check_file -c 0 -d /path/to/file/location"
exit 3
}
while getopts c:d: OPTNAME; do
case "$OPTNAME" in
c)
CRITVAL="$OPTARG"
;;
d)
DIRPATH="$OPTARG"
;;
*)
usage
;;
esac
done
#check value
if [ "$CRITVAL" = "" ]; then
echo "Error: critical_value must not empty"
usage
exit 3
fi
#check dir
if [ "$DIRPATH" = "" ]; then
echo "Error: directory must exist do not empty"
usage
exit 3
fi
# get file status
NUMFILE=$(($(ls -la $DIRPATH | grep -v '^d'| wc -l)-1))
if [ $NUMFILE -gt $CRITVAL ] ; then
echo "*** CRITICAL ***"
echo "there is $NUMFILE files at $DIRPATH on `hostname`"
exit 2
else
echo "** OK ** $NUMFILE file at $DIRPATH on `hostname`"
exit 0
fi
Comments
Post a Comment