From 6828cfa52c021b631e6f5beca9428bf550e0c985 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9s=20Maldonado?= <amaldona@etu.utc.fr> Date: Wed, 18 Mar 2020 18:44:47 +0100 Subject: [PATCH] [DBBackup] Use 'custom' format for pg_dump backups... ...and restore via pg_restore. --- pica-db-backup/postgres-run.sh | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/pica-db-backup/postgres-run.sh b/pica-db-backup/postgres-run.sh index ae4932c8..a06d7d36 100755 --- a/pica-db-backup/postgres-run.sh +++ b/pica-db-backup/postgres-run.sh @@ -11,6 +11,7 @@ BACKUP_FOLDER=${BACKUP_FOLDER:-"/backup/"} ping -c 1 -W 1 "${POSTGRES_HOST}" || { echo -e "\n=========== ${POSTGRES_HOST} not available, skipping backup... ===========\n"; exit 1; } BACKUP_CMD="pg_dump -w -c --format=c > $BACKUP_FOLDER"'${BACKUP_NAME}' +RESTORE_CMD="pg_restore -c \$1" # Make sure backup folder exists mkdir -p "${BACKUP_FOLDER}" @@ -31,13 +32,10 @@ export PGUSER=$POSTGRES_USER export PGPASSWORD=$POSTGRES_PASS DATE=\$(date +\%Y.\%m.\%d.\%H\%M\%S) -BACKUP_NAME=\$DATE.sql +BACKUP_NAME=\$DATE.dump echo "=> ${POSTGRES_SERVICE_NAME}: Backup started: \${BACKUP_NAME}" if ${BACKUP_CMD} ;then - echo " => Compress files $BACKUP_FOLDER\$DATE.tar.gz" - tar -czvf $BACKUP_FOLDER\$DATE.tar.gz $BACKUP_FOLDER\${BACKUP_NAME} && \ - rm -rf $BACKUP_FOLDER\$BACKUP_NAME && \ echo "${POSTGRES_SERVICE_NAME}: Backup succeeded" else echo "${POSTGRES_SERVICE_NAME}: Backup failed" @@ -64,14 +62,11 @@ export PGUSER=$POSTGRES_USER export PGPASSWORD=$POSTGRES_PASS echo "=> ${POSTGRES_SERVICE_NAME}: Restore database from \$1" -tar -xzvf \$1 -output="\$(echo \$1 | awk -F'.tar.gz' '{print \$1".sql"}')" -if psql < \$output ;then +if ${RESTORE_CMD} ;then echo "${POSTGRES_SERVICE_NAME}: Restore succeeded" else echo "${POSTGRES_SERVICE_NAME}: Restore failed" fi -rm -Rf \$output EOF chmod +x /$restore_script_name -- GitLab