#!/bin/bash RC=3 ERR="Unknown error." WARN="86400" # 1 day CRIT="259200" # 3 day METAPATH="/opt/shibboleth-idp/metadata/" METADATA=("DFN-AAI-Basic-metadata-backingFile.xml" "DFN-AAI-metadata-backingFile.xml") CURTIME=$(date +%s) MAX=0 for i in "${METADATA[@]}" do FILE="$METAPATH$i" MODTIME=$(stat -c %Y "$FILE" 2>/dev/null) if [ -z "$MODTIME" ]; then echo "Metadata is missing!" exit 2 else DUR=$(( $CURTIME - $MODTIME )) if [ $DUR -gt $MAX ]; then MAX=$DUR fi fi done if [ $MAX -lt $WARN ]; then RC=0 ERR="Metadata is up-to-date." else if [ $MAX -gt $CRIT ]; then RC=2 else RC=1 fi ERR="Metadata is too old ($MAX sec(s))" fi echo "$ERR" exit $RC