]> git.immae.eu Git - perso/Immae/Projets/Puppet.git/blobdiff - modules/profile/files/monitoring/check_last_file_date
Add postgresql monitoring
[perso/Immae/Projets/Puppet.git] / modules / profile / files / monitoring / check_last_file_date
diff --git a/modules/profile/files/monitoring/check_last_file_date b/modules/profile/files/monitoring/check_last_file_date
new file mode 100644 (file)
index 0000000..8eabb57
--- /dev/null
@@ -0,0 +1,31 @@
+#!/bin/bash
+STATE_OK=0
+STATE_WARNING=1
+STATE_CRITICAL=2
+STATE_UNKNOWN=3
+  
+base_path=$1
+hours=$2
+as_user=$3
+
+if [ -z "$as_user" ]; then
+  last_date=$(find $base_path -mindepth 1 -maxdepth 1 -printf "%T@\n" 2>/dev/null | sort | tail -n 1)
+else
+  last_date=$(sudo -u "$as_user" find $base_path -mindepth 1 -maxdepth 1 -printf "%T@\n" 2>/dev/null | sort | tail -n 1)
+fi
+
+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)
+  min_date=$(date -d "$hours hours ago" "+%s")
+  if [ "$min_date" -lt "$last_date" ]; then
+    echo "OK: Last backup $(date -d @$last_date)"
+    exit $STATE_OK
+  else
+    echo "CRITICAL: Last backup $(date -d @$last_date)"
+    exit $STATE_CRITICAL
+  fi
+fi