mirror of
https://github.com/prodrigestivill/docker-postgres-backup-local.git
synced 2026-07-01 07:48:03 +00:00
Changed to use POSTGRES_DB.
This commit is contained in:
+1
-1
@@ -4,7 +4,7 @@ MAINTAINER Pau Rodriguez-Estivill "prodrigestivill@gmail.com"
|
|||||||
ADD install.sh install.sh
|
ADD install.sh install.sh
|
||||||
RUN sh install.sh && rm install.sh
|
RUN sh install.sh && rm install.sh
|
||||||
|
|
||||||
ENV POSTGRES_DATABASE **None**
|
ENV POSTGRES_DB **None**
|
||||||
ENV POSTGRES_HOST **None**
|
ENV POSTGRES_HOST **None**
|
||||||
ENV POSTGRES_PORT 5432
|
ENV POSTGRES_PORT 5432
|
||||||
ENV POSTGRES_USER **None**
|
ENV POSTGRES_USER **None**
|
||||||
|
|||||||
@@ -15,6 +15,7 @@ Docker Compose:
|
|||||||
postgres:
|
postgres:
|
||||||
image: postgres
|
image: postgres
|
||||||
environment:
|
environment:
|
||||||
|
POSTGRES_DB: dbname
|
||||||
POSTGRES_USER: user
|
POSTGRES_USER: user
|
||||||
POSTGRES_PASSWORD: password
|
POSTGRES_PASSWORD: password
|
||||||
|
|
||||||
@@ -30,7 +31,7 @@ pgbackups:
|
|||||||
BACKUP_KEEP_DAYS: 7
|
BACKUP_KEEP_DAYS: 7
|
||||||
BACKUP_KEEP_WEEKS: 4
|
BACKUP_KEEP_WEEKS: 4
|
||||||
BACKUP_KEEP_MONTHS: 6
|
BACKUP_KEEP_MONTHS: 6
|
||||||
POSTGRES_DATABASE: dbname
|
POSTGRES_DB: dbname
|
||||||
POSTGRES_USER: user
|
POSTGRES_USER: user
|
||||||
POSTGRES_PASSWORD: password
|
POSTGRES_PASSWORD: password
|
||||||
POSTGRES_EXTRA_OPTS: '-Z9 --schema=public --blobs'
|
POSTGRES_EXTRA_OPTS: '-Z9 --schema=public --blobs'
|
||||||
|
|||||||
@@ -3,8 +3,8 @@
|
|||||||
set -e
|
set -e
|
||||||
set -o pipefail
|
set -o pipefail
|
||||||
|
|
||||||
if [ "${POSTGRES_DATABASE}" = "**None**" ]; then
|
if [ "${POSTGRES_DB}" = "**None**" ]; then
|
||||||
echo "You need to set the POSTGRES_DATABASE environment variable."
|
echo "You need to set the POSTGRES_DB environment variable."
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@@ -36,22 +36,22 @@ KEEP_WEEKS=`expr $((($BACKUP_KEEP_WEEKS * 7) + 1))`
|
|||||||
KEEP_MONTHS=`expr $((($BACKUP_KEEP_MONTHS * 31) + 1))`
|
KEEP_MONTHS=`expr $((($BACKUP_KEEP_MONTHS * 31) + 1))`
|
||||||
|
|
||||||
#Initialize filename vers and dirs
|
#Initialize filename vers and dirs
|
||||||
DFILE="$BACKUP_DIR/daily/$POSTGRES_DATABASE-`date +%Y%m%d-%H%M%S`.sql.gz"
|
DFILE="$BACKUP_DIR/daily/$POSTGRES_DB-`date +%Y%m%d-%H%M%S`.sql.gz"
|
||||||
WFILE="$BACKUP_DIR/weekly/$POSTGRES_DATABASE-`date +%G%V`.sql.gz"
|
WFILE="$BACKUP_DIR/weekly/$POSTGRES_DB-`date +%G%V`.sql.gz"
|
||||||
MFILE="$BACKUP_DIR/monthly/$POSTGRES_DATABASE-`date +%Y%m`.sql.gz"
|
MFILE="$BACKUP_DIR/monthly/$POSTGRES_DB-`date +%Y%m`.sql.gz"
|
||||||
mkdir -p "$BACKUP_DIR/daily/" "$BACKUP_DIR/weekly/" "$BACKUP_DIR/monthly/"
|
mkdir -p "$BACKUP_DIR/daily/" "$BACKUP_DIR/weekly/" "$BACKUP_DIR/monthly/"
|
||||||
|
|
||||||
#Create dump
|
#Create dump
|
||||||
echo "Creating dump of ${POSTGRES_DATABASE} database from ${POSTGRES_HOST}..."
|
echo "Creating dump of ${POSTGRES_DB} database from ${POSTGRES_HOST}..."
|
||||||
pg_dump -f "$DFILE" $POSTGRES_HOST_OPTS $POSTGRES_DATABASE
|
pg_dump -f "$DFILE" $POSTGRES_HOST_OPTS $POSTGRES_DB
|
||||||
|
|
||||||
#Copy (hardlink) for each entry
|
#Copy (hardlink) for each entry
|
||||||
ln -vf "$DFILE" "$WFILE"
|
ln -vf "$DFILE" "$WFILE"
|
||||||
ln -vf "$DFILE" "$MFILE"
|
ln -vf "$DFILE" "$MFILE"
|
||||||
|
|
||||||
#Clean old files
|
#Clean old files
|
||||||
find "$BACKUP_DIR/daily" -maxdepth 1 -mtime +$KEEP_DAYS -name "$POSTGRES_DATABASE-*.sql*" -exec rm -rf '{}' ';'
|
find "$BACKUP_DIR/daily" -maxdepth 1 -mtime +$KEEP_DAYS -name "$POSTGRES_DB-*.sql*" -exec rm -rf '{}' ';'
|
||||||
find "$BACKUP_DIR/weekly" -maxdepth 1 -mtime +$KEEP_WEEKS -name "$POSTGRES_DATABASE-*.sql*" -exec rm -rf '{}' ';'
|
find "$BACKUP_DIR/weekly" -maxdepth 1 -mtime +$KEEP_WEEKS -name "$POSTGRES_DB-*.sql*" -exec rm -rf '{}' ';'
|
||||||
find "$BACKUP_DIR/monthly" -maxdepth 1 -mtime +$KEEP_MONTHS -name "$POSTGRES_DATABASE-*.sql*" -exec rm -rf '{}' ';'
|
find "$BACKUP_DIR/monthly" -maxdepth 1 -mtime +$KEEP_MONTHS -name "$POSTGRES_DB-*.sql*" -exec rm -rf '{}' ';'
|
||||||
|
|
||||||
echo "SQL backup uploaded successfully"
|
echo "SQL backup uploaded successfully"
|
||||||
|
|||||||
Reference in New Issue
Block a user