#!/bin/bash usage(){ echo "Usage: `basename $0` file_name -gt|-lt time_in_seconds" exit 1 } complt() { if [ $difference -lt $max_diff ]; then echo "Service OK, time difference is: $difference" exit 0 else echo "Service CRITICAL, time difference is: $difference" exit 2 fi } compgt() { if [ $difference -gt $max_diff ]; then echo "Service OK, time difference is: $difference" exit 0 else echo "Service CRITICAL, time difference is: $difference" exit 2 fi } [ $# -lt 3 ] && usage [ ! -f $1 ] && echo "file $1 not found !" && exit 1 case $2 in -gt) crit='gt' max_diff=$3 ;; -lt) crit='lt' max_diff=$3 ;; *) usage ;; esac if [ -z $max_diff ]; then usage fi ctime=`date +%s` ftime=`stat -c %Y $1` difference=$(($ctime - $ftime)) if [ $crit == 'gt' ]; then compgt elif [ $crit == 'lt' ]; then complt fi exit 0