Skip to content
Snippets Groups Projects
Commit 6828cfa5 authored by Andres Maldonado's avatar Andres Maldonado
Browse files

[DBBackup] Use 'custom' format for pg_dump backups...

...and restore via pg_restore.
parent eb54ac21
No related branches found
No related tags found
No related merge requests found
Pipeline #58136 waiting for manual action
......@@ -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
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment