Dumps target db periodically to one latest plain text file and to multiple compressed archives.
Restores target db on start up if target db is empty.
Copy to your docker-compose.yml file. No need to change these settings, everything can be configured from the .env file
services:
############################
## DC Auto-DB-Backup-Section
############################
auto-db-backup:
# image: TODO
build: # comment in to --build
context: ./dockerfiles/
dockerfile: Dockerfile
volumes:
- /etc:/bak/etc:ro
- ${BAK_LATEST_PATH}:/bak/latest/
- ${BAK_ARCHIVE_PATH}:/bak/archive/
- ${BAK_LOGS_PATH}:/bak/log/
environment:
- DB_NAME=${DB_NAME}
- DB_USER=${DB_USER}
- DB_PW=${DB_PW}
- DB_HOST=${DB_HOST}
- CRON_SCHEDULE=${CRON_SCHEDULE}
command: sh /usr/local/bin/startup.sh
DB_NAME=mySampleDbName # DB Connection
DB_HOST=auto-db-sample_db
DB_USER=mySampleDbUser
DB_PW=mySampleDbPassword
CRON_SCHEDULE=every5min # can be: every5min every15min hourly daily weekly monthly
DATE_FORMAT="%Y-%m-%d_%H" # "%Y-%m-%d_%H-%M-%S" -> YEAR-MONTH-DAY_HOUR-MINUTE-SECOND -> 2021-12-31_23-30-10
# "%Y-%m-%d_%H" -> YEAR-MONTH-DAY_HOUR -> 15min backups will overwrite each other until a new hour starts
# "%Y-%m-%d" -> YEAR-MONTH-DAY -> hourly backups will overwrite each other until a new day starts
BAK_LATEST_PATH=./bak/db/latest/ # the current/latest dump, plain SQL/txt
BAK_ARCHIVE_PATH=./bak/db/archive/ # multiple DATE_FORMAT suffixed gzipped archives
BAK_LOGS_PATH=./bak/db/log/ # logs
Content type
Image
Digest
Size
15.6 MB
Last updated
over 4 years ago
docker pull ajabusch/auto-db-backup