mysql-backup-s3
mysql-backup-s3 copied to clipboard
Docker image to periodically backup mysql data to s3
mysql-backup-s3
Periodicaly backup MySQL to S3.
Usage
$ docker run -e SCHEDULE="0 0 * * *" -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 -e MYSQL_DATABASE=my-db f213/mysql-backup-s3
docker-compose:
services:
mysql_backup:
image: f213/mysql-backup-s3
environment:
SCHEDULE: 30 13 * * * # every day at 13:30
S3_PREFIX: mysql
MYSQLDUMP_DATABASE: my-db
MYSQL_HOST: localhost
MYSQL_USER: user
MYSQL_PASSWORD: password
S3_ACCESS_KEY_ID: key
S3_SECRET_ACCESS_KEY: secret
S3_BUCKET: my-bucket
Environment variables
-
SCHEDULEcrontab-like syntax to schedule your backups -
SUCCESS_WEBHOOKurl to notify on success -
MYSQLDUMP_OPTIONSmysqldump 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_DATABASElist of databases you want to backup (default: --all-databases) -
MYSQL_HOSTthe mysql host required -
MYSQL_PORTthe mysql port (default: 3306) -
MYSQL_USERthe mysql user required -
MYSQL_PASSWORDthe mysql password required -
S3_ACCESS_KEY_IDyour AWS access key required -
S3_SECRET_ACCESS_KEYyour AWS secret key required -
S3_BUCKETyour AWS S3 bucket path required -
S3_PREFIXpath prefix in your bucket (default: 'backup') -
S3_FILENAMEa consistent filename to overwrite with your backup. If not set will use a timestamp. -
S3_REGIONthe AWS S3 bucket region (default: us-west-1) -
S3_ENDPOINTthe AWS Endpoint URL, for S3 Compliant APIs such as minio (default: none). -
S3_S3V4set toyesto enable AWS Signature Version 4, required for minio servers (default: no) -
MULTI_DATABASESAllow to have one file per database if setyesdefault: no)
This project was originally forked from schickling/dockerfiles.