#!/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 /store/backups/nagiosxi/$mysqlfile } case "$hostname" in $primary) do_primary;; $secondary) do_secondary;; *) do_nothing esac