Advertisement
Guest User

Untitled

a guest
Aug 6th, 2016
109
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.07 KB | None | 0 0
  1. #!/bin/bash
  2.  
  3. set -ex
  4.  
  5. DB_HOST=mysql
  6. DB_USERNAME=root
  7. DB_PASSWORD=password
  8. DB_NAME=wp
  9. DB_IMAGE=mariadb:10.1.16
  10. DB_CONTAINER=wp-mariadb
  11. DB_FILE_PATH=/backups
  12. DB_NETWORK=docker_default
  13. DB_FILE=${2:-"wp.sql"}
  14. DB_PARAMETER="-h $DB_HOST -u$DB_USERNAME -p$DB_PASSWORD"
  15.  
  16. # For restore file owner
  17. DB_UID=1000
  18. DB_GID=1000
  19.  
  20. # Check action argument
  21. if [ -z "$1" ]; then
  22. echo "Please specify action export or import"
  23. exit 1
  24. fi
  25.  
  26. # Build docker run command
  27. DB_DOCKER_COMMAND="docker run --rm=true --link $DB_CONTAINER:$DB_HOST \
  28. --volume $(pwd):$DB_FILE_PATH \
  29. --network $DB_NETWORK $DB_IMAGE \
  30. bash -c"
  31.  
  32. if [ "$1" == "import" ]; then
  33. # Check if file exists
  34. if [ ! -f "$DB_FILE" ]; then
  35. echo "File $2 not found"
  36. exit 1
  37. fi
  38.  
  39. $DB_DOCKER_COMMAND \
  40. "mysql $DB_PARAMETER -e \
  41. 'DROP DATABASE $DB_NAME; \
  42. CREATE DATABASE $DB_NAME' && \
  43. mysql $DB_PARAMETER $DB_NAME < $DB_FILE_PATH/$DB_FILE"
  44. elif [ "$1" == "export" ]; then
  45. $DB_DOCKER_COMMAND \
  46. "mysqldump $DB_PARAMETER $DB_NAME > $DB_FILE_PATH/$DB_FILE && \
  47. chown $DB_UID:$DB_GID $DB_FILE_PATH/$DB_FILE"
  48. fi
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement