Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- set -ex
- DB_HOST=mysql
- DB_USERNAME=root
- DB_PASSWORD=password
- DB_NAME=wp
- DB_IMAGE=mariadb:10.1.16
- DB_CONTAINER=wp-mariadb
- DB_FILE_PATH=/backups
- DB_NETWORK=docker_default
- DB_FILE=${2:-"wp.sql"}
- DB_PARAMETER="-h $DB_HOST -u$DB_USERNAME -p$DB_PASSWORD"
- # For restore file owner
- DB_UID=1000
- DB_GID=1000
- # Check action argument
- if [ -z "$1" ]; then
- echo "Please specify action export or import"
- exit 1
- fi
- # Build docker run command
- DB_DOCKER_COMMAND="docker run --rm=true --link $DB_CONTAINER:$DB_HOST \
- --volume $(pwd):$DB_FILE_PATH \
- --network $DB_NETWORK $DB_IMAGE \
- bash -c"
- if [ "$1" == "import" ]; then
- # Check if file exists
- if [ ! -f "$DB_FILE" ]; then
- echo "File $2 not found"
- exit 1
- fi
- $DB_DOCKER_COMMAND \
- "mysql $DB_PARAMETER -e \
- 'DROP DATABASE $DB_NAME; \
- CREATE DATABASE $DB_NAME' && \
- mysql $DB_PARAMETER $DB_NAME < $DB_FILE_PATH/$DB_FILE"
- elif [ "$1" == "export" ]; then
- $DB_DOCKER_COMMAND \
- "mysqldump $DB_PARAMETER $DB_NAME > $DB_FILE_PATH/$DB_FILE && \
- chown $DB_UID:$DB_GID $DB_FILE_PATH/$DB_FILE"
- fi
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement