Backups

To create and restore databases, follow the outlined steps

MongoDB

Create Backup

# ./scripts/backup-mongo.sh <backup filename prefix> <destinationfolder>

./scripts/backup-mongo.sh mongo backups/

Restore from Backup

# ./scripts/restore-mongo-backups.sh <Relative path to backup file>. 
# Expected structure inside backup folder mongo-xxx/access/
# info1-mngr@inforecover-exercises:~/backup/mongodump/access$ ls -l
# total 252256
# -rw-r--r-- 1 ... ... 258302988 Oct 23 18:28 studentSubmissions.bson
# -rw-r--r-- 1 ... ...       173 Oct 23 18:28 studentSubmissions.metadata.json

./scripts/backup-mongo.sh <backup filename prefix> <folder where to place backups

Postgres

Create Backup

# ./scripts/backup-postgres.sh <backup filename prefix> <folder where to place backups>

./scripts/backup-postgres.sh dump backups/

Restore from Backup

# stop postgres and keycloak
docker-compose stop keycloak && docker-compose stop postgres

# remove any database files
rm -rf volumes/postgres/data/db/*

# restart postgres
docker-compose start postgres

# restore from backup
# ./scripts/restore-postgres-backups.sh <Relative path to backup file>
./scripts/restore-postgres-backups.sh backups/dump-2019-09-26_21_22_20.sql

# restart keycloak
docker-compose start keycloak

If no root access, do the following for the 'remove any database files' step:

docker-compose exec postgres bash
rm -rf /var/lib/postgresql/data/*

# Exit container ctrl+d
docker-compose restart postgres

Last updated