#!/bin/bash STATE_OK=0 STATE_WARNING=1 STATE_CRITICAL=2 STATE_UNKNOWN=3 base_path=$1 hours=$2 last_date=$(find $base_path -mindepth 1 -maxdepth 1 -printf "%T@\n" 2>/dev/null | sort | tail -n 1) if [ -z "$last_date" ]; then echo "UNKNOWN: Could not read folder" exit $STATE_UNKNOWN else LC_ALL=C last_date=$(printf "%.*f" 0 $last_date) LC_ALL=C age=$(( $(date "+%s") - $last_date)) max_age=$(( $hours * 60 * 60 )) min_date=$(date -d "$hours hours ago" "+%s") if [ "$min_date" -lt "$last_date" ]; then echo "OK: Last file $(date -d @$last_date) | age=${age}s;;$max_age;;" exit $STATE_OK else echo "CRITICAL: Last file $(date -d @$last_date) | age=${age}s;;$max_age;;" exit $STATE_CRITICAL fi fi