Updated consul to take configuration and use /var/backups
This commit is contained in:
parent
c6d446594d
commit
a8585a6d92
3 changed files with 42 additions and 8 deletions
|
@ -1,27 +1,58 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
restoreDir=/etc/restore
|
restoreDir=/etc/restore
|
||||||
consulDir="$restoreDir/consul"
|
consulDir="/var/backups/consul"
|
||||||
|
scriptDir="$(dirname "$0")"
|
||||||
|
|
||||||
|
readConfig() {
|
||||||
|
local $config
|
||||||
|
|
||||||
|
if [[ -r "${scriptDir}/../config/consul_backup.cfg" ]]; then
|
||||||
|
source "${scriptDir}/../config/consul_backup.cfg"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
check() {
|
check() {
|
||||||
if [[ -d "$consulDir" ]]; then
|
if [[ -d "$consulDir" ]]; then
|
||||||
rm -rf "$consulDir" || exit 1
|
echo "Cleaning out old Consul backups..."
|
||||||
|
rm -f "$consulDir"/* || return 1
|
||||||
|
else
|
||||||
|
mkdir -p "$consulDir" | return 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ -n "$CONSUL_PATH" ]]; then
|
||||||
|
if [[ -x "${CONSUL_PATH/consul}" ]]; then
|
||||||
|
echo "Found Consul in $CONSUL_PATH"
|
||||||
|
else
|
||||||
|
echo "FATAL: Cannot execute Consul"
|
||||||
|
return 3
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
if ! which consul; then
|
||||||
|
echo "Cannot find Consul in PATH"
|
||||||
|
return 2
|
||||||
|
fi
|
||||||
|
if [[ -x "$(which consul)" ]]; then
|
||||||
|
CONSUL_PATH="$(basename 'which consul')"
|
||||||
|
echo "Found Consul in $CONSUL_PATH"
|
||||||
|
else
|
||||||
|
echo "FATAL: Cannot execute Consul"
|
||||||
|
return 3
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
hook_before() {
|
hook_before() {
|
||||||
check
|
check || exit $?
|
||||||
mkdir -p "$consulDir" || exit 1
|
#pushd "$restoreDir" || exit 2
|
||||||
pushd "$restoreDir" || exit 2
|
|
||||||
|
|
||||||
consul snapshot save "$consulDir/consul.snap"
|
${CONSUL_PATH}/consul snapshot save "$consulDir/consul.snap"
|
||||||
|
|
||||||
popd || exit 2
|
#popd || exit 2
|
||||||
}
|
}
|
||||||
|
|
||||||
hook_after() {
|
hook_after() {
|
||||||
rm -rf "$consulDir" || exit 1
|
:
|
||||||
}
|
}
|
||||||
|
|
||||||
hook_fail() {
|
hook_fail() {
|
||||||
|
|
3
templates/config/consul_backup.cfg
Normal file
3
templates/config/consul_backup.cfg
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
# This configuration file is used for providing the path
|
||||||
|
# to consul's binary.
|
||||||
|
# Example: CONSUL_PATH=/opt/consul/bin
|
Loading…
Reference in a new issue