You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
49 lines
1.1 KiB
Bash
49 lines
1.1 KiB
Bash
#!/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
|