55 lines
981 B
Bash
55 lines
981 B
Bash
#!/bin/sh
|
|
|
|
# Syntax:
|
|
#
|
|
# Directory_Name : Directory to check
|
|
|
|
if [ -z "$1" ]
|
|
then
|
|
echo "You need too pass target directory to monitor"
|
|
echo "Plugin will report CRITICAL if previous number"
|
|
echo "of files in directory is greater than actual number"
|
|
exit
|
|
fi
|
|
|
|
DIRE=$1
|
|
if [ `uname -s` = "FreeBSD" ];then
|
|
DIRETMP=`echo $DIRE | /sbin/md5`;
|
|
else
|
|
DIRETMP=`echo $DIRE | md5sum | awk '{ print $1 }'`
|
|
fi
|
|
DIRETMP=/tmp/$DIRETMP
|
|
|
|
CURRENT=`ls -la ${DIRE} | wc -l | tr -d ' '`
|
|
|
|
if [ -e $DIRETMP ]
|
|
then
|
|
ANTERIOR=`cat $DIRETMP`
|
|
else
|
|
ANTERIOR=0
|
|
fi
|
|
|
|
if [ $ANTERIOR -gt $CURRENT ]
|
|
then
|
|
DISPARA=0
|
|
else
|
|
DISPARA=1
|
|
fi
|
|
|
|
echo $CURRENT > $DIRETMP
|
|
|
|
echo "<module>
|
|
<name><![CDATA[FS_$DIRE]]></name>
|
|
<description>Number of files in directory</description>
|
|
<type>generic_proc</type>
|
|
<data>$DISPARA</data>
|
|
</module>
|
|
|
|
<module>
|
|
<name><![CDATA[NumFiles_FS_$DIRE]]></name>
|
|
<description>Number of files</description>
|
|
<type>generic_data</type>
|
|
<data>$CURRENT</data>
|
|
</module>"
|
|
|