diff --git a/backup_new.sh b/backup_new.sh index a21436d..2ca163f 100755 --- a/backup_new.sh +++ b/backup_new.sh @@ -401,6 +401,58 @@ printf "${ok}[%s] -- [SUCCESS] SQL databases dumped successfully --${norm}\n" \ "$(stamp)" >> "$logFile" +### pre-backup tasks completed -- move to borg tasks +printf "${cyan}[%s] -- [INFO] Pre-backup tasks completed --${norm}\n" \ + "$(stamp)" >> "$logFile" + + +### Run borg variable checks +printf "${cyan}[%s] -- [INFO] Verifying supplied borg details --${norm}\n" \ + "$(stamp)" >> "$logFile" + +## verify borg base directory +if [ -z "${borgBaseDir}" ]; then + badDetails empty 'borgBaseDir' +elif [ ! -d "${borgBaseDir}" ]; then + badDetails dne 'borgBaseDir' +fi +printf "${magenta}details:borgBaseDir ${norm}-- ${ok}[OK]${norm}\n" \ + >> "$logfile" +export BORG_BASE_DIR="${borgBaseDir%/}" + +## check path to SSH keyfile +if [ -z "${borgSSHKey}" ]; then + badDetails empty 'borgSSHKey' +elif [ ! -d "${borgSSHKey}" ]; then + badDetails dne 'borgSSHKey' +fi +printf "${magenta}details:borgSSHKey ${norm}-- ${ok}[OK]${norm}\n" \ + >> "$logfile" +export BORG_RSH="ssh -i ${borgSSHKey}" + +## check borg repo connect string +if [ -z "${borgConnectRepo}" ]; then + badDetails empty 'borgConnectRepo' +fi +printf "${magenta}details:borgConnectRepo ${norm}-- ${ok}[OK]${norm}\n" \ + >> "$logfile" +export BORG_REPO="${borgConnectRepo}" + +## check borg repo password +if [ -n "${borgRepoPassphrase}" ]; then + printf "${magenta}details:borgRepoPassphrase ${norm}-- ${ok}[OK]${norm}\n" \ + >> "$logfile" + export BORG_PASSPHRASE="${borgRepoPassphrase}" +else + # if passwd is blank intentionally, this is insecure + printf "${warn} -- [WARNING] Using a borg repo without a password is an " \ + >> "$logFile" + printf "insecure configuration --${norm}\n" >> "$logFile" + # if this was an accident, we need to provide a bogus passwd so borg fails + # otherwise it will sit forever just waiting for input + export BORG_PASSPHRASE="DummyPasswordSoBorgFails" +fi +