From 1dd87e1c394d48a595f587e23a6b74eb9f8ac237 Mon Sep 17 00:00:00 2001 From: Eric Loyd Date: Thu, 13 Jan 2022 09:50:31 -0500 Subject: [PATCH 1/4] header.css work is now performed in failover.sh instead of rsync, since sometimes you just want to activate failover --- failover/failover.sh | 19 +++++++++++++------ failover/rsync_xi.sh | 3 --- 2 files changed, 13 insertions(+), 9 deletions(-) diff --git a/failover/failover.sh b/failover/failover.sh index d1f2182..bf01c9e 100755 --- a/failover/failover.sh +++ b/failover/failover.sh @@ -18,6 +18,7 @@ secondary="" synconly="false" syncname="sync" extraCmd="" +cssDir="/usr/local/nagiosxi/html/includes/components/custom-includes/css/" hostname=`/bin/hostname` @@ -69,9 +70,10 @@ do_primary() { [ $? -ne 0 ] && error "Cannot ping ${secondary}. Use --noping to continue wihout ping." && exit verbose "Creating package to send to secondary" /home/nagios/bin/rsync_xi.sh --prepend ${syncname} --primary "${primary}" --secondary "${secondary}" $extraCmd - if [ -r "/usr/local/nagiosxi/html/includes/components/custom-includes/css/header-gradient.css.primary" -a -w "/usr/local/nagiosxi/html/includes/components/custom-includes/css/header-gradient.css" ]; then + # Update header.css with proper gradient files + if [ -r "${cssDir}/header.css.primary" -a -w "${cssDir}/header.css" ]; then verbose "Copying local gradient files" - cp /usr/local/nagiosxi/html/includes/components/custom-includes/css/header-gradient.css.primary /usr/local/nagiosxi/html/includes/components/custom-includes/css/header-gradient.css + cp ${cssDir}/header.css.primary ${cssDir}/header.css fi } @@ -91,13 +93,18 @@ do_secondary() { [ -z "$syncfile" ] && error "No sync file ($syncfile) found." && exit 2 /home/nagios/bin/rsync_xi.sh --primary "${primary}" --secondary "${secondary}" --file "/store/backups/nagiosxi/$syncfile" if [ $? -eq 0 ]; then - sleep 2 - if [ -r "/usr/local/nagiosxi/html/includes/components/custom-includes/css/header-gradient.css.secondary" -a -w "/usr/local/nagiosxi/html/includes/components/custom-includes/css/header-gradient.css" ]; then - cp /usr/local/nagiosxi/html/includes/components/custom-includes/css/header-gradient.css.secondary /usr/local/nagiosxi/html/includes/components/custom-includes/css/header-gradient.css + # Update header.css with proper gradient files + if [ -r "${cssDir}/header.css.secondary" -a -w "${cssDir}/header.css" ]; then + verbose "Copying local gradient files" + cp ${cssDir}/header.css.secondary ${cssDir}/header.css fi + verbose "Ensuring that xi.key file has proper permissions" chmod 0640 /usr/local/nagiosxi/var/keys/xi.key chown nagios:nagios /usr/local/nagiosxi/var/keys/xi.key - verbose "This is intended to be manually executed when needed, so we assume you want to start Nagios..." -n + verbose "***" + warning "***" + error "***" + warning "This is intended to be manually executed when needed, so we assume you want to start Nagios..." -n start_nagios rm -f ${syncfile} verbose "Done." diff --git a/failover/rsync_xi.sh b/failover/rsync_xi.sh index 9f599eb..d87fd25 100755 --- a/failover/rsync_xi.sh +++ b/failover/rsync_xi.sh @@ -500,9 +500,6 @@ do_secondary() { [ ! -r "$syncfile" ] && error "No sync file ($syncfile) found." && exit 2 restore_secondary "$syncfile" if [ $? -eq 0 ]; then - if [ -r "/usr/local/nagiosxi/html/includes/components/custom-includes/css/header-gradient.css.secondary" -a -w "/usr/local/nagiosxi/html/includes/components/custom-includes/css/header-gradient.css" ]; then - cp /usr/local/nagiosxi/html/includes/components/custom-includes/css/header-gradient.css.secondary /usr/local/nagiosxi/html/includes/components/custom-includes/css/header-gradient.css - fi rm -f ${syncfile} fi } # End of do_secondary From 475e5e83a892b614b04fdeb3f5d58fc3c3f54787 Mon Sep 17 00:00:00 2001 From: Eric Loyd Date: Thu, 13 Jan 2022 10:04:07 -0500 Subject: [PATCH 2/4] Use rsync instead of cp to copy header files --- failover/failover.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/failover/failover.sh b/failover/failover.sh index bf01c9e..5ce88b6 100755 --- a/failover/failover.sh +++ b/failover/failover.sh @@ -18,7 +18,7 @@ secondary="" synconly="false" syncname="sync" extraCmd="" -cssDir="/usr/local/nagiosxi/html/includes/components/custom-includes/css/" +cssDir="/usr/local/nagiosxi/html/includes/components/custom-includes/css" hostname=`/bin/hostname` @@ -73,7 +73,7 @@ do_primary() { # Update header.css with proper gradient files if [ -r "${cssDir}/header.css.primary" -a -w "${cssDir}/header.css" ]; then verbose "Copying local gradient files" - cp ${cssDir}/header.css.primary ${cssDir}/header.css + rsync ${cssDir}/header.css.primary ${cssDir}/header.css fi } @@ -96,7 +96,7 @@ do_secondary() { # Update header.css with proper gradient files if [ -r "${cssDir}/header.css.secondary" -a -w "${cssDir}/header.css" ]; then verbose "Copying local gradient files" - cp ${cssDir}/header.css.secondary ${cssDir}/header.css + rsync ${cssDir}/header.css.secondary ${cssDir}/header.css fi verbose "Ensuring that xi.key file has proper permissions" chmod 0640 /usr/local/nagiosxi/var/keys/xi.key From 90bf02cbc42102d6c6c9dae1f2949292eff29cb7 Mon Sep 17 00:00:00 2001 From: Eric Loyd Date: Thu, 13 Jan 2022 10:04:27 -0500 Subject: [PATCH 3/4] Remove release-2.1.7.zip file from master --- failover/release-2.1.7.zip | Bin 12253 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 failover/release-2.1.7.zip diff --git a/failover/release-2.1.7.zip b/failover/release-2.1.7.zip deleted file mode 100644 index 2f9b687ac37e7077870c6762469b66345170822c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12253 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 DkvX?A From 3e0c08db726717c92d355d210e199b59eb2291b6 Mon Sep 17 00:00:00 2001 From: Eric Loyd Date: Thu, 13 Jan 2022 10:43:59 -0500 Subject: [PATCH 4/4] failover.sh can now request that rsync continue without syncing, just to activate Nagios --- failover/failover.sh | 15 +++++++++++++-- failover/rsync_xi.sh | 11 +++++++++-- 2 files changed, 22 insertions(+), 4 deletions(-) diff --git a/failover/failover.sh b/failover/failover.sh index 5ce88b6..2186436 100755 --- a/failover/failover.sh +++ b/failover/failover.sh @@ -90,8 +90,19 @@ do_secondary() { fi verbose "Expanding package from the primary" syncfile=$(basename `ls -tr1 ${backupDir}/${syncname}* | tail -1`) - [ -z "$syncfile" ] && error "No sync file ($syncfile) found." && exit 2 - /home/nagios/bin/rsync_xi.sh --primary "${primary}" --secondary "${secondary}" --file "/store/backups/nagiosxi/$syncfile" + if [ -z "$syncfile" ]; then + error "No sync file ($syncfile) found." + warning "Continue anyway? (10 second timeout, one letter only please) [y/N] " -n + read -t 10 -e -n 1 continueAnyway + if [ "$continueAnyway" = "y" -o "$continueAnyway" = "Y" ]; then + /home/nagios/bin/rsync_xi.sh --primary "${primary}" --secondary "${secondary}" --file "/store/backups/nagiosxi/$syncfile" --nofile + else + verbose "Exiting." + exit 2 + fi + else + /home/nagios/bin/rsync_xi.sh --primary "${primary}" --secondary "${secondary}" --file "/store/backups/nagiosxi/$syncfile" + fi if [ $? -eq 0 ]; then # Update header.css with proper gradient files if [ -r "${cssDir}/header.css.secondary" -a -w "${cssDir}/header.css" ]; then diff --git a/failover/rsync_xi.sh b/failover/rsync_xi.sh index d87fd25..e16ecbd 100755 --- a/failover/rsync_xi.sh +++ b/failover/rsync_xi.sh @@ -14,6 +14,7 @@ hostname="`/bin/hostname`" pName="" sName="" noping=/bin/false +noFile=/bin/false execute="-n" syncfile="" isP=/bin/false @@ -38,6 +39,7 @@ usage () { echo " -p | --prepend Prepend a string to the .tar.gz name" echo " -a | --append Append a string to the .tar.gz name" echo " -d | --directory Change the directory to store the compressed backup" + echo " --nofile Ignore the missing sync file but continue the process" echo "" } @@ -61,6 +63,9 @@ while [ -n "$1" ]; do --noping) noping=/bin/true ;; + --nofile) + noFile=/bin/true + ;; -h | --help) usage exit 0 @@ -278,6 +283,8 @@ test_mysql_connection() { rootdir=/store/backups/nagiosxi backupfile=$1 +# This is a poor way to write this, but it's the easiest. Skip doing all the restore operations if there's no file to restore from. +if [ ! $noFile ]; then if [ ! -f $backupfile ]; then error "Unable to find backup file $backupfile!" exit 1 @@ -476,7 +483,7 @@ else exit 1 fi fi - +fi # This is from the "noFile" check previously ############################## # RESTART SERVICES ############################## @@ -497,7 +504,7 @@ echo "===============" } do_secondary() { - [ ! -r "$syncfile" ] && error "No sync file ($syncfile) found." && exit 2 + [ ! $noFile -a ! -r "$syncfile" ] && error "No sync file ($syncfile) found." && exit 2 restore_secondary "$syncfile" if [ $? -eq 0 ]; then rm -f ${syncfile}