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