Files
noofac-snackpot/templates/bin/backup
Nick Stokoe b40cb39327 templates/bin/backup - better protect against failures
I experienced a problem which stopped this backup from running, so
let's allow it to fail more gracefully and not leave the backup in a
state it can't resume from, if possible.
2024-01-02 14:13:10 +00:00

30 lines
1004 B
Bash
Executable File

#!/bin/bash
# Borg Backup runner
set -o pipefail
set -o errexit
cd "/opt/docker-compose"
set -vx
docker-compose exec -T -u www-data nextcloud ./occ maintenance:mode --on ||
echo "WARNING: Couldn't stop nextcloud container, proceeding anyway"
docker-compose down --remove-orphans || {
echo "ERROR: Couldn't stop docker-compose, restarting and aborting"
docker network prune --force
docker-compose up -d
exit
}
docker network prune --force # remove dangling networks
docker-compose run --name borgmatic -T --rm borgmatic /backup.sh run ||
echo "ERROR: Couldn't run borgmatic"
docker-compose up -d main-services || {
echo "ERROR: couldn't restart docker-compose services, aborting with no services!"
exit 1
}
docker-compose exec -T -u www-data nextcloud ./occ maintenance:mode --off ||
echo "Couldn't turn off nextcloud's maintainance mode"
docker-compose run --name borgmatic -T --rm borgmatic /backup.sh check ||
echo "Couldn't run the bormatic backup check"