瀏覽代碼

'check_dfsr.sh' hinzufügen

Daniel Wenzel 3 年之前
父節點
當前提交
679baf27a1
共有 1 個文件被更改,包括 75 次插入0 次删除
  1. 75 0
      check_dfsr.sh

+ 75 - 0
check_dfsr.sh

@@ -0,0 +1,75 @@
+#!/bin/bash
+# Return Codes:
+# 0 - Ok!       - Up
+# 1 - Warning   - Flaky
+# 2 - Critical  - Down
+# 3 - Unknown   - Ummm... What happened?!
+
+print_usage() {
+        echo "Usage: check_dfsr.sh [sending member] [waittime]"
+}
+
+#Parameter prüfen
+if [ $# -ne 2 ]; then
+  print_usage
+  STATE=3
+  exit $STATE
+fi
+
+
+#Mounts prüfen
+MOUNTPOINTS=$(/usr/bin/mount | /usr/bin/grep "Icinga-Check" | /usr/bin/wc -l)
+if [ $MOUNTPOINTS -lt 2 ]; then
+  echo "Source or Destination not mounted."
+  STATE=3
+  exit $STATE
+fi
+
+
+ZUFALL=$(date +%s)
+STATE=3
+SUCCESS=0
+
+SENDER=$(echo $1 | tr '[:upper:]' '[:lower:]')
+#ZIEL=$(echo $2 | tr '[:upper:]' '[:lower:]')
+ZEIT=$2
+
+if [[ $SENDER == *"nhi"* ]]; then
+  QUELLDIR="/mnt/dfsr-check-nhi"
+  ZIELDIR="/mnt/dfsr-check-hkl"
+elif [[ $SENDER == *"hkl"* ]]; then
+  QUELLDIR="/mnt/dfsr-check-hkl"
+  ZIELDIR="/mnt/dfsr-check-nhi"
+else
+  echo "Source or Destination not found. Exiting."
+  STATE=3
+  exit $STATE
+fi
+
+echo "Furious Icinga-Check" > ${QUELLDIR}/${ZUFALL}.txt
+if [ $? -ne 0 ]; then
+  echo "Error writing into Source-Directory."
+  STATE=3
+  exit $STATE
+fi
+
+#sleep $ZEIT
+for (( i=1; i<=$ZEIT; i++ )); do
+  ls $ZIELDIR//${ZUFALL}.txt > /dev/null 2>&1
+  if [ $? -eq 0 ]; then
+    echo "DFS-Replication successful."
+    STATE=0
+    SUCCESS=1
+    break
+  fi
+  sleep 1
+done
+
+if [ $SUCCESS -ne 1 ]; then
+  echo "DFS-Replication not successful."
+  STATE=2
+fi
+
+
+rm -f ${QUELLDIR}/${ZUFALL}.txt
+exit $STATE