Hugo/backups/create_nextcloud_backup.sh

25 lines
940 B
Bash
Raw Normal View History

2023-01-14 23:59:00 +01:00
#!/bin/bash
# Backup script for Nextcloud in a kubernetes cluster
BACKUP_DEST=/mnt/APPS/git/backups
2023-01-14 23:59:00 +01:00
# Retrieve container names
nextcloud_container=$( docker ps --format "{{.Names}}" | grep hugocloud-nextcloud_hugocloud-nextcloud )
database_container=$( docker ps --format "{{.Names}}" | grep hugocloud-postgresql_hugocloud-postgresql )
# Abort entire script if any command fails
set -e
# Turn on maintenance mode
docker exec --user www-data "${nextcloud_container}" php occ maintenance:mode --on
# Database backup
>&2 echo "Backing up database"
docker exec --env-file ./evars.txt "${database_container}" pg_dump "nextcloud" -cwv -h "localhost" -U "nextcloud" -f /tmp/nextcloud-sqlbkp_`date +"%Y%m%d"`.bak
docker cp "${database_container}":/tmp/nextcloud-sqlbkp_$(date +"%Y%m%d").bak /mnt/APPS/git/backups
2023-01-14 23:59:00 +01:00
# Turn off maintenance mode
docker exec --user www-data "${nextcloud_container}" php occ maintenance:mode --off
>&2 echo "Done"