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