Sign inSign up

ajabusch/auto-db-backup

By ajabusch

•Updated over 4 years ago

Image
0

1.1K

ajabusch/auto-db-backup repository overview

⁠Auto-DB-Backup

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.

⁠docker-compose.yml

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

⁠.env-file

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

Tag summary

Content type

Image

Digest

Size

15.6 MB

Last updated

over 4 years ago

docker pull ajabusch/auto-db-backup