Эх сурвалжийг харах

'check_twodns.sh' hinzufügen

Daniel Wenzel 3 жил өмнө
parent
commit
2f756409d9
1 өөрчлөгдсөн 41 нэмэгдсэн , 0 устгасан
  1. 41 0
      check_twodns.sh

+ 41 - 0
check_twodns.sh

@@ -0,0 +1,41 @@
+#!/bin/bash
+# Return Codes:
+# 0 - Ok!       - Up
+# 1 - Warning   - Flaky
+# 2 - Critical  - Down
+# 3 - Unknown   - Ummm... What happened?!
+
+STATE=3
+
+print_usage() {
+        echo "Usage: check_twodns.sh [Master DNS] [Slave DNS] [Zone]"
+}
+
+#Parameter prüfen
+if [ $# -ne 3 ]; then
+  print_usage
+  exit $STATE
+fi
+
+SerialMaster=$(/usr/bin/dig @${1} ${3} +short SOA | awk '{print $3}')
+if [ $? -ne 0 ]; then
+  echo "Error reading Serial from Master for Domain \"${3}\""
+  exit 3
+fi
+
+SerialSlave=$(/usr/bin/dig @${2} ${3} +short SOA | awk '{print $3}')
+if [ $? -ne 0 ]; then
+  echo "Error reading Serial from Slave for Domain \"${3}\""
+  exit 3
+fi
+
+if [ "$SerialMaster" -eq "$SerialSlave" ]; then
+  Status="Serial for \"${3}\" is identical on both DNS-Servers: ${SerialMaster}"
+  STATE=0
+else
+  echo "Serial for \"${3}\" is different. Master: ${SerialMaster}, Slave: ${SerialSlave}"
+  STATE=2
+fi
+
+echo $Status
+exit $STATE