diff --git a/docker/operations/db_backup.sh b/docker/operations/db_backup.sh new file mode 100755 index 0000000..a64fd99 --- /dev/null +++ b/docker/operations/db_backup.sh @@ -0,0 +1,19 @@ +#!/usr/bin/env bash + +## Backup the postgresql instance running in our local +## asteroid-postgres docker container + +SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd ) + +# Source the runtime environment for asteroid.radio. creds, paths &c + +if [[ -f ${HOME}/SourceCode/lisp/asteroid/docker/environment.sh ]]; then + . ${HOME}/SourceCode/lisp/asteroid/docker/environment.sh +fi + +BACKUP_DIR=${SCRIPT_DIR}/db_backups +mkdir -p "$BACKUP_DIR" + +docker exec asteroid-postgres sh -c 'pg_dump $POSTGRES_DB -U $POSTGRES_USER -F p' | xz --compress -c > ${BACKUP_DIR}/db_$(date +%Y-%m-%d-%H.%M.%S)_backup.sql.xz + +