|
|
@@ -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
|