Backup MySQL and PostgresSQL to local filesystem with periodic dumps and gzip backups.
954
Backup MySQL and PostgresSQL to local filesystem with periodic dumps and gzip backups.
Docker:
$ docker run -e MYSQL_HOST=mysql -e MYSQL_USER=username -e MYSQL_PASSWORD=password -e MYSQL_DATABASE=database dsconsultoria/database-backup
Docker Compose:
version: '2'
services:
postgres:
image: postgres
environment:
- POSTGRES_DB=database
- POSTGRES_USER=username
- POSTGRES_PASSWORD=password
mysql:
image: mysql
environment:
- MYSQL_DB=database
- MYSQL_USER=username
- MYSQL_ROOT_PASSWORD=password
backups:
image: dsconsultoria/database-backup
volumes:
- /mydumps:/backups
links:
- postgres
- mysql
depends_on:
- postgres
environment:
PGSQL_FREQUENCY: hourly
PGSQL_HOST: postgres
PGSQL_USER: username
PGSQL_PASSWORD: password
PGSQL_DATABASE: database
MYSQL_FREQUENCY: 30min
MYSQL_HOST: mysql
MYSQL_USER: username
MYSQL_PASSWORD: password
MYSQL_DATABASE: database
Backups are always saved in container /backups directory with filename in format YmdHM.sql.gz (ex 201806272146.sql.gz) Mount any local directory to /backups of container.
PGSQL_FREQUENCY: frequency of PostgreSQL backups PGSQL_HOST: PostgreSQL hostname PGSQL_USER: PostgreSQL username with database access permission PGSQL_PASSWORD: password of PostgreSQL user PGSQL_DATABASE: PostgreSQL database for backup
MYSQL_FREQUENCY: frequency of MySQL backups MYSQL_HOST: MySQL hostname MYSQL_USER: MySQL username with database access permission MYSQL_PASSWORD: password of MySQL user MYSQL_DATABASE: MySQL database for backup
1min - Every minute. 5min - Every 5 minutes. 15min - Every 15 minutes. 30min - Every 30 minutes. hourly - Every hour at same run minute. daily - Every day at same run hour.
Content type
Image
Digest
Size
93 MB
Last updated
about 8 years ago
docker pull dsconsultoria/database-backup