#!/bin/sh
#
# Nagios XI failover for Princeton University
#
# Initial version written by:
# Eric Loyd (eloyd@everwatch.global)
# EverWatch Global, Inc.

PATH=/usr/sbin:/sbin:/usr/bin:/bin

primary="nagiosxi-p.princeton.edu"
secondary="nagiosxi-f.princeton.edu"

hostname=`/bin/hostname`

while [ -n "$1" ]; do
  case "$1" in
    -H | --hostname) hostname="$2"; shift 2;;
    -s | --secondary) secondary="$2"; shift 2;;
    -p | --primary) primary="$2"; shift 2;;
    *) shift 1;;
  esac
done

[ -z "$hostname" ] && echo "Invalid hostname." && exit 2

do_nothing() {
  echo "We are not the primary or secondary.  Doing nothing."
  exit
}

do_primary() {
  echo "We are the primary.  Creating package to send to secondary."
  ./rsync_xi.sh --prepend sync --secondary "$secondary"
}

do_secondary() {
  echo "We are the secondary.  Expanding package from the primary."
  mysqlfile=`ls -tr1 /store/backups/nagiosxi/ | tail -1`
  [ -z "$mysqlfile" ] && echo "No MySQL Backup file." && exit 2
  ./restore_xi.sh $mysqlfile
}

case "$hostname" in
  $primary) do_primary;;
  $secondary) do_secondary;;
  *) do_nothing
esac
