diff --git a/backups/create_nextcloud_backup.sh b/backups/create_nextcloud_backup.sh new file mode 100644 index 0000000..e089ca2 --- /dev/null +++ b/backups/create_nextcloud_backup.sh @@ -0,0 +1,21 @@ +#!/bin/bash +# Backup script for Nextcloud in a kubernetes cluster + +# 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 "${database_container}" pg_dump "nextcloud" -cwv -h "localhost" -U "nextcloud" -f nextcloud-sqlbkp_`date +"%Y%m%d"`.bak + +# Turn off maintenance mode +docker exec --user www-data "${nextcloud_container}" php occ maintenance:mode --off + +>&2 echo "Done"