22 lines
777 B
Bash
22 lines
777 B
Bash
|
#!/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"
|