Public | Automated Build

Last pushed: 7 months ago
Short Description
First build.
Full Description

docker-mysql-backup-s3

Backup MySQL to S3 (supports periodic backups & mutli files)

Fork from mysql-backup-s3.

Basic usage

Backup

$ docker run -e S3_ACCESS_KEY_ID=key -e S3_SECRET_ACCESS_KEY=secret -e S3_BUCKET=my-bucket -e S3_PREFIX=backup -e MYSQL_USER=user -e MYSQL_PASSWORD=password -e MYSQL_HOST=localhost patw0929/docker-mysql-backup-s3

If you need to backup other mysql container, please use link:

$ docker run -e S3_ACCESS_KEY_ID=key -e S3_SECRET_ACCESS_KEY=secret -e S3_BUCKET=my-bucket -e S3_PREFIX=backup -e MYSQL_USER=user -e MYSQL_PASSWORD=password -e MYSQL_HOST=db --link db:db patw0929/docker-mysql-backup-s3

Restore

$ docker run -e S3_ACCESS_KEY_ID=key -e S3_SECRET_ACCESS_KEY=secret -e S3_BUCKET=my-bucket -e S3_PREFIX=backup -e MYSQL_USER=user -e MYSQL_PASSWORD=password -e MYSQL_HOST=localhost RESTORE_DB_NAME=mydb RESTORE_FILENAME='2017-03-17T021827Z.dump.sql.gz' patw0929/docker-mysql-backup-s3

Environment variables

  • MYSQLDUMP_OPTIONS mysqldump options (default: --quote-names --quick --add-drop-table --add-locks --allow-keywords --disable-keys --extended-insert --single-transaction --create-options --comments --net_buffer_length=16384)
  • MYSQLDUMP_DATABASE list of databases you want to backup (default: --all-databases)
  • MYSQL_HOST the mysql host required
  • MYSQL_PORT the mysql port (default: 3306)
  • MYSQL_USER the mysql user required
  • MYSQL_PASSWORD the mysql password, if it contains special chars, please wrap it with single quote required
  • S3_ACCESS_KEY_ID your AWS access key required
  • S3_SECRET_ACCESS_KEY your AWS secret key required
  • S3_BUCKET your AWS S3 bucket path required
  • S3_PREFIX path prefix in your bucket (default: 'backup')
  • S3_REGION the AWS S3 bucket region (default: us-west-1)
  • S3_ENDPOINT the AWS Endpoint URL, for S3 Compliant APIs such as minio (default: none)
  • S3_S3V4 set to yes to enable AWS Signature Version 4, required for minio servers (default: no)
  • MULTI_FILES Allow to have one file per database if set yes default: no)
  • SCHEDULE backup schedule time, see explainatons below
  • RESTORE_DB_NAME restore to which database. (restore is not supported multi files)
  • RESTORE_FILENAME restore filename on the AWS S3 bucket. (without S3_PREFIX)

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.

Docker Pull Command
Owner
patw0929
Source Repository

Comments (0)