Проверка вызывается с двумя ключами:
d - Директория которая проверяется на наличие ЛЮБЫХ файлов
n - Название проверки (Нужно для создание tmp файлов)
Данная проверка может проверять любую директорию и сравнивать количество и имена новых файлов в указанной директории.
При получение новых файлов проверка выдает статус "CRITICAl"
Если проверка нашла файлы в директории и они не новые, то проверка выдаёт "WARINIG:<кол-во файлов в директории>"
Если же проверка ничего не нашла в указанном каталоге, то проверка выдаёт статус "OK"
#!/bin/sh NAGIOS_OK=0 NAGIOS_WARNING=1 NAGIOS_CRITICAL=2 PROGNAME=`basename $0` print_usage() { echo "Usage: $PROGNAME -d <check-directory> -n <name-check>" } if [ $# -lt 4 ]; then print_usage exit $NAGIOS_WARNING fi while getopts "d:n:" Option do case $Option in d) DIR=$OPTARG;; n) NAME=$OPTARG;; esac done TMP_NEW_CORE="/tmp/$NAME-new-check-dir" TMP_OLD_CORE="/tmp/$NAME-old-check-dir" if [ `touch /tmp/test 2> /dev/null; echo "$?"` -ne 0 ]; then echo "Access /tmp failed" exit $NAGIOS_WARNING else rm "/tmp/test" fi oldfilecheck=`ls /tmp/ | grep check-core-old` if [ -z $oldfilecheck ]; then touch $TMP_OLD_CORE fi check_core=`ls $DIR | wc -l | awk {'print $1'}` if [ $check_core -lt 1 ]; then echo "OK - $DIR=0" truncate -s0 $TMP_OLD_CORE > /dev/null 2>&1 rm $TMP_NEW_CORE > /dev/null 2>&1 exit $NAGIOS_OK fi check_core_old=`ls -l $TMP_OLD_CORE | awk '{print $5}'` if [ $check_core_old -eq 0 ]; then result_old=`ls -l $DIR | grep -v total | awk '{print $9}' | sed -e s/.core//g | sed 's/$/\;/g' > $TMP_OLD_CORE` show_core=`cat $TMP_OLD_CORE | xargs` echo "CRITICAL - /var/coredumps/$show_core" exit $NAGIOS_CRITICAL fi if [ $check_core_old -ne 0 ]; then result_new=`ls -l $DIR | grep -v total | awk '{print $9}' | sed -e s/.core//g | sed 's/$/\;/g' > $TMP_NEW_CORE` cmd=`diff $TMP_OLD_CORE $TMP_NEW_CORE | grep ">" | awk '{print $2}' | xargs` show_core=`cat $TMP_OLD_CORE | wc -l | awk '{print $1}'` if [ -z "$cmd" ]; then echo "WARNING - /var/coredumps=$show_core" NAGIOS_EXIT="1" else echo "New file [ $cmd ]" NAGIOS_EXIT="2" fi mv $TMP_NEW_CORE $TMP_OLD_CORE exit $NAGIOS_EXIT fi