Files
disaster_recovery/make_backup.sh
2021-03-16 23:51:55 +01:00

44 lines
1002 B
Bash
Executable File

#!/usr/bin/env bash
## Source backup.env file for settings and secrets.
## it is possible to pass a filename as .env file.
## Passing a file makes it possible to have several .env files for different backups and one "work script".
if [[ -z "$1" ]]; then
source backup.env
else
source $1
fi
## Setup that everything is written to log
exec > >(tee -i ${LOGFILE})
exec 2>&1
## Checks that a few important thins is set.
## In case a invalid path/file is passed.
if [[ -z $REPOSITORY ]]; then
echo "No \$REPOSITORY set, cannot make backup. \nDid you pass a valid .env file?"
exit 4
fi
if [[ -z $BACKUP_NAME ]]; then
echo "No \$BACKUP_NAME set, cannot make backup. \nDid you pass valid .env file?"
exit 5
fi
echo "######## Backup started at $(date) ########"
borg create -v --stats \
--exclude-from backup_exclude.txt \
$REPOSITORY::$BACKUP_NAME \
/home/adam/docker
echo "######### Backup Finished $(date) #########"