Advertisement
Guest User

Untitled

a guest
Aug 30th, 2017
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.13 KB | None | 0 0
  1. #!/bin/bash
  2. ## Check required command
  3. if ! type expect > /dev/null
  4. then
  5. ## apt-get -v &> /dev/null && apt-get install expect || yum install expect
  6. echo "Install 'expect'"
  7. fi
  8.  
  9. ## Mysql config
  10. # TODO(): change config data
  11. MUSER="<user name>"
  12. MPASS="<user pass>"
  13. MHOST="localhost"
  14. MDBASE="<database name>"
  15. MYSQL="$(which mysql)"
  16. MYSQLDUMP="$(which mysqldump)"
  17.  
  18. ## WRITE HERE EXCLUDE TABLES
  19. EXCLUDE_TABLES=(
  20. logs
  21. )
  22.  
  23. IGNORED_TABLES_STRING=''
  24. for TABLE in "${EXCLUDE_TABLES[@]}"
  25. do
  26. IGNORED_TABLES_STRING+=" --ignore-table=${MDBASE}.${TABLE}"
  27. done
  28.  
  29. ## Storage config
  30. # TODO(): change storage config
  31. SSH_HOST="<host for backup>"
  32. SSH_USER="<user>"
  33. SSH_KEY="<path to ssh key>"
  34. SSH_PASS=$MPASS
  35. SSH_PATH="<path to backup directory>"
  36.  
  37. NOW=$(date +"%d-%m-%Y")
  38. GZIP="$(which gzip)"
  39.  
  40. ## Create dump
  41.  
  42. [ ! -d "$SSH_PATH" ] && mkdir -p "$SSH_PATH"
  43.  
  44. FILE=$SSH_PATH$MDBASE$NOW-$(date +"%T").gz
  45.  
  46. $MYSQLDUMP --single-transaction \
  47. -u $MUSER \
  48. -h $MHOST \
  49. -p$MPASS \
  50. $MDBASE \
  51. | $GZIP -9 \
  52. > $FILE
  53.  
  54. scp -i $SSH_KEY $FILE SSH_USER@SSH_HOST:$SSH_PATH
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement