Check borg variables from definition file and export if ok
This commit is contained in:
parent
6205b9fb72
commit
5c98f73134
53
backup.sh
53
backup.sh
@ -409,11 +409,60 @@ else
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
### Call borgbackup to copy actual files
|
### Call borgbackup to copy actual files
|
||||||
echo -e "${op}${stamp} Pre-backup tasks completed, calling borgbackup..."
|
echo -e "${op}${stamp} Pre-backup tasks completed, calling borgbackup..." \
|
||||||
|
"${normal}" >> "$logFile"
|
||||||
|
|
||||||
## Get borgbackup settings and repo details
|
## Get borgbackup settings and repo details
|
||||||
# read definition file and map to array variable
|
# read definition file and map to array variable
|
||||||
mapfile -t borgConfig < $borgDetails
|
mapfile -t borgConfig < "$borgDetails"
|
||||||
|
## check if any required borg configuration variables in defintion file are
|
||||||
|
## empty and exit with error, otherwise, map array items to variables
|
||||||
|
# check: borg base directory
|
||||||
|
echo -e "${op}${stamp} Verifying supplied borg configuration variables..."
|
||||||
|
if [ -z "${borgConfig[0]}" ]; then
|
||||||
|
cleanup
|
||||||
|
quit 210
|
||||||
|
else
|
||||||
|
export BORG_BASE_DIR="${borgConfig[0]}"
|
||||||
|
fi
|
||||||
|
# check: path to SSH keyfile
|
||||||
|
if [ -z "${borgConfig[1]}" ]; then
|
||||||
|
cleanup
|
||||||
|
quit 211
|
||||||
|
else
|
||||||
|
export BORG_RSH="ssh -i ${borgConfig[1]}"
|
||||||
|
fi
|
||||||
|
# check: name of borg repo
|
||||||
|
if [ -z "${borgConfig[2]}" ]; then
|
||||||
|
cleanup
|
||||||
|
quit 212
|
||||||
|
else
|
||||||
|
export BORG_REPO="{borgConfig[2]}"
|
||||||
|
fi
|
||||||
|
# repo password
|
||||||
|
if [ -n "${borgConfig[3]}" ]; then
|
||||||
|
export BORG_PASSPHRASE="{borgConfig[3]}"
|
||||||
|
else
|
||||||
|
echo -e "${info}${stamp} -- [INFO] No password will be used for SSH keys" \
|
||||||
|
"or when accessing remote borg repo --${normal}" >> "$logFile"
|
||||||
|
# if the password was omitted by mistake, export a dummy password so borg
|
||||||
|
# fails with an error instead of sitting and waiting for input
|
||||||
|
export BORG_PASSPHRASE="DummyPasswordSoBorgFails"
|
||||||
|
fi
|
||||||
|
# additional files to be backed up
|
||||||
|
borgXtra="${borgConfig[4]}"
|
||||||
|
# file with pattern definition for excluded files
|
||||||
|
borgExclude="${borgConfig[5]}"
|
||||||
|
# parameters for borg prune
|
||||||
|
borgPrune="${borgConfig[6]}"
|
||||||
|
# export: borg remote path (if not blank)
|
||||||
|
if [ -n "${borgConfig[7]}" ]; then
|
||||||
|
export BORG_REMOTE_PATH="${borgConfig[7]}"
|
||||||
|
else
|
||||||
|
echo -e "${info}${stamp} -- [INFO] No remote borg instance specified" \
|
||||||
|
"--${normal}" >> "$logFile"
|
||||||
|
fi
|
||||||
|
|
||||||
# map individual array items to variables and export where necessary
|
# map individual array items to variables and export where necessary
|
||||||
export BORG_BASE_DIR="${borgConfig[0]}"
|
export BORG_BASE_DIR="${borgConfig[0]}"
|
||||||
export BORG_RSH="ssh -i ${borgConfig[1]}"
|
export BORG_RSH="ssh -i ${borgConfig[1]}"
|
||||||
|
Loading…
Reference in New Issue
Block a user