parent
bf91e51e49
commit
645e14c34b
|
|
@ -1,14 +1,23 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
MODE="${1}"
|
error_handler () {
|
||||||
CONFIG="/etc/borgwrapper/config.sh"
|
local SCRIPT_NAME="$0"
|
||||||
|
local LINE="$1"
|
||||||
|
local EXIT_CODE="$2"
|
||||||
|
echo "${SCRIPT_NAME}: Error in line ${LINE} (exit code ${EXIT_CODE})"
|
||||||
|
exit ${EXIT_CODE}
|
||||||
|
}
|
||||||
|
|
||||||
print_usage () {
|
print_usage () {
|
||||||
echo "Usage: $(basename "${BASH_SOURCE[0]}") MODE"
|
cat << EOF
|
||||||
echo ""
|
Usage: $(basename "${BASH_SOURCE[0]}") [OPTIONS] MODE
|
||||||
echo "arguments:"
|
|
||||||
echo " MODE init|backup|verify|unlock|exec"
|
OPTIONS
|
||||||
|
-c CONFIG_FILE
|
||||||
|
|
||||||
|
MODES
|
||||||
|
init|backup|verify|unlock|exec
|
||||||
|
EOF
|
||||||
}
|
}
|
||||||
|
|
||||||
borg_init () {
|
borg_init () {
|
||||||
|
|
@ -58,6 +67,28 @@ borg_exec () {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
trap 'error_handler ${LINENO} $?' ERR INT TERM
|
||||||
|
set -o errtrace -o pipefail
|
||||||
|
|
||||||
|
|
||||||
|
# Default parameters
|
||||||
|
CONFIG="/etc/borgwrapper/config.sh"
|
||||||
|
|
||||||
|
while getopts ":c:" OPT; do
|
||||||
|
case ${OPT} in
|
||||||
|
c)
|
||||||
|
CONFIG="${OPTARG}"
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
print_usage
|
||||||
|
exit 1
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
|
# Interpret all remaining arguments as mode parameters
|
||||||
|
shift "$((OPTIND - 1))"
|
||||||
|
MODE="${1}"
|
||||||
|
|
||||||
source "${CONFIG}" || exit 1
|
source "${CONFIG}" || exit 1
|
||||||
export BORG_PASSPHRASE
|
export BORG_PASSPHRASE
|
||||||
|
|
||||||
|
|
@ -80,4 +111,8 @@ elif [[ ${MODE} == "exec" ]]; then
|
||||||
borg_exec "$@"
|
borg_exec "$@"
|
||||||
else
|
else
|
||||||
print_usage
|
print_usage
|
||||||
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
trap - ERR INT TERM
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue