Sign inSign up

heyman/docker-backup-to-s3

By heyman

•Updated almost 4 years ago

Docker container that periodically backups files to Amazon S3 using s3cmd and cron

Image
0

931

heyman/docker-backup-to-s3 repository overview

⁠istepanov/backup-to-s3

Docker Stars Docker Pulls Docker Build Layers

Docker container that periodically backups files to Amazon S3 using s3cmd sync⁠ and cron.

⁠Usage
docker run -d [OPTIONS] istepanov/backup-to-s3
⁠Parameters:
  • -e ACCESS_KEY=<AWS_KEY>: Your AWS key.
  • -e SECRET_KEY=<AWS_SECRET>: Your AWS secret.
  • -e S3_PATH=s3://<BUCKET_NAME>/<PATH>/: S3 Bucket name and path. Should end with trailing slash.
  • -v /path/to/backup:/data:ro: mount target local folder to container's data folder. Content of this folder will be synced with S3 bucket.
⁠Optional parameters:
  • -e PARAMS="--dry-run": parameters to pass to the sync command (full list here⁠).
  • -e DATA_PATH=/data/: container's data folder. Default is /data/. Should end with trailing slash.
  • -e 'CRON_SCHEDULE=0 1 * * *': specifies when cron job starts (details⁠). Default is 0 1 * * * (runs every day at 1:00 am).
  • -e BEFORE_CMD="...": specify a command that is run before the files are synced to S3.
  • no-cron: run container once and exit (no cron scheduling).
⁠Examples:

Run upload to S3 everyday at 12:00pm:

docker run -d \
    -e ACCESS_KEY=myawskey \
    -e SECRET_KEY=myawssecret \
    -e S3_PATH=s3://my-bucket/backup/ \
    -e 'CRON_SCHEDULE=0 12 * * *' \
    -v /home/user/data:/data:ro \
    istepanov/backup-to-s3

Run once then delete the container:

docker run --rm \
    -e ACCESS_KEY=myawskey \
    -e SECRET_KEY=myawssecret \
    -e S3_PATH=s3://my-bucket/backup/ \
    -v /home/user/data:/data:ro \
    istepanov/backup-to-s3 no-cron

Run once to get from S3 then delete the container:

docker run --rm \
    -e ACCESS_KEY=myawskey \
    -e SECRET_KEY=myawssecret \
    -e S3_PATH=s3://my-bucket/backup/ \
    -v /home/user/data:/data:rw \
    istepanov/backup-to-s3 get

Run once to delete from s3 then delete the container:

docker run --rm \
    -e ACCESS_KEY=myawskey \
    -e SECRET_KEY=myawssecret \
    -e S3_PATH=s3://my-bucket/backup/ \
    istepanov/backup-to-s3 delete

Security considerations: on restore, this opens up permissions on the restored files widely.

Tag summary

Content type

Image

Digest

sha256:c1d4ed3a7…

Size

30.5 MB

Last updated

almost 4 years ago

docker pull heyman/docker-backup-to-s3