diff --git a/Dockerfile b/Dockerfile index 9ba7a6b..0fd096a 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,6 +1,7 @@ FROM postgres:14.4-bullseye COPY initScript/*.sh /docker-entrypoint-initdb.d/ +COPY backup-database.sh /backup-database.sh RUN localedef -i fr_FR -c -f UTF-8 -A /usr/share/locale/locale.alias fr_FR.UTF-8 ENV LANG fr_FR.utf8 diff --git a/backup-database.sh b/backup-database.sh new file mode 100755 index 0000000..5b81a3a --- /dev/null +++ b/backup-database.sh @@ -0,0 +1,20 @@ +#!/bin/bash +set -e + +dt=$(date '+%d/%m/%Y %H:%M:%S'); +fileDt=$(date '+%d_%m_%Y_%H_%M_%S'); +backUpFileName="postgres-backup-$fileDt.gz" +backUpFilePath="$BACKUP_DESTINATION_FOLDER/$backUpFileName" + +echo "$dt - Starting DB backup into file: $backUpFilePath"; +echo "$dt - Running: pg_dumpall -h $BACKUP_SOURCE_DB_HOST_NAME -U $POSTGRES_USER -c | gzip > $backUpFilePath" + +pg_dumpall -h $BACKUP_SOURCE_DB_HOST_NAME -U $POSTGRES_USER -c | gzip > $backUpFilePath + +if [ $? -ne 0 ]; then + rm $backUpFilePath + echo "Unable to execute a BackUp. Please check DB connection settings" + exit 1 +fi + +echo "$dt - DB backup completed into file: $backUpFilePath";