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.
This commit is contained in:
Nick Stokoe
2024-01-02 14:13:10 +00:00
parent 8ae5a1aa60
commit b40cb39327

View File

@@ -5,12 +5,25 @@
set -o pipefail
set -o errexit
cd "{{docker_compose_base_dir}}"
cd "/opt/docker-compose"
{{docker_compose_cmd}} exec -T -u www-data nextcloud ./occ maintenance:mode --on
{{docker_compose_cmd}} down
{{docker_compose_cmd}} run --name borgmatic -T --rm borgmatic /backup.sh run
{{docker_compose_cmd}} up -d main-services
{{docker_compose_cmd}} exec -T -u www-data nextcloud ./occ maintenance:mode --off
{{docker_compose_cmd}} run --name borgmatic -T --rm borgmatic /backup.sh check
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"