20 lines
936 B
Bash
20 lines
936 B
Bash
#!/bin/bash
|
|
|
|
set -eo pipefail
|
|
|
|
: "${POSTGRES_HOST:?Please set the environment variable.}"
|
|
: "${POSTGRES_USER:?Please set the environment variable.}"
|
|
: "${POSTGRES_PASSWORD:?Please set the environment variable.}"
|
|
: "${AWS_ACCESS_KEY_ID:?Please set the environment variable.}"
|
|
: "${AWS_SECRET_ACCESS_KEY:?Please set the environment variable.}"
|
|
: "${RESTIC_PASSWORD:?Please set the environment variable.}"
|
|
: "${RESTIC_REPOSITORY:?Please set the environment variable.}"
|
|
: "${RESTIC_HOST:?Please set the environment variable.}"
|
|
|
|
POSTGRES_PORT="${POSTGRES_PORT:-5432}"
|
|
POSTGRES_SSL_MODE=${POSTGRES_SSL_MODE:-"require"}
|
|
RESTIC_TAG=${RESTIC_TAG:-"pg_basebackup"}
|
|
|
|
PGPASSWORD=${POSTGRES_PASSWORD} pg_basebackup -h "${POSTGRES_HOST}" -d "sslmode=${POSTGRES_SSL_MODE}" -D /tmp/backup -U ${POSTGRES_USER} -F t -z -P
|
|
restic --verbose backup -H ${RESTIC_HOST} --tag ${RESTIC_TAG} /tmp/backup
|
|
restic forget --prune --keep-last 14 --host ${RESTIC_HOST} |