You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
itbm 152fba2173
Merge a6c0819abb into b4084c3d06
4 years ago
..
Dockerfile Merge a6c0819abb84fbf0bfe4424e0ddcbe1a92c999d3 into b4084c3d066ee914d5afc02713c22aad6db8053f 4 years ago
README.md Merge a6c0819abb84fbf0bfe4424e0ddcbe1a92c999d3 into b4084c3d066ee914d5afc02713c22aad6db8053f 4 years ago
backup.sh Merge a6c0819abb84fbf0bfe4424e0ddcbe1a92c999d3 into b4084c3d066ee914d5afc02713c22aad6db8053f 4 years ago
install.sh Added to all scripts 4 years ago
run.sh Added to all scripts 4 years ago

README.md

postgres-backup-s3

Backup PostgresSQL to S3 (supports periodic backups)

Usage

Docker:

$ docker run -e S3_ACCESS_KEY_ID=key -e S3_SECRET_ACCESS_KEY=secret -e S3_BUCKET=my-bucket -e S3_PREFIX=backup -e POSTGRES_DATABASE=dbname -e POSTGRES_USER=user -e POSTGRES_PASSWORD=password -e POSTGRES_HOST=localhost schickling/postgres-backup-s3

Docker Compose:

postgres:
  image: postgres
  environment:
    POSTGRES_USER: user
    POSTGRES_PASSWORD: password

pgbackups3:
  image: schickling/postgres-backup-s3
  links:
    - postgres
  environment:
    SCHEDULE: '@daily'
    S3_REGION: region
    S3_ACCESS_KEY_ID: key
    S3_SECRET_ACCESS_KEY: secret
    S3_BUCKET: my-bucket
    S3_PREFIX: backup
    POSTGRES_HOST: host
    POSTGRES_DATABASE: dbname
    POSTGRES_USER: user
    POSTGRES_PASSWORD: password
    POSTGRES_EXTRA_OPTS: '--schema=public --blobs'

Automatic Periodic Backups

You can additionally set the SCHEDULE environment variable like -e SCHEDULE="@daily" to run the backup automatically.

More information about the scheduling can be found here.

Delete Old Backups

You can additionally set the DELETE_OLDER_THAN environment variable like -e DELETE_OLDER_THAN="30 days ago" to delete old backups.

WARNING: this will delete all files in the S3_PREFIX path, not just those created by this script.