Files
check_twodns/check_twodns.sh

42 lines
915 B
Bash

#!/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