Advertisement
Guest User

Untitled

a guest
Jul 25th, 2016
60
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.37 KB | None | 0 0
  1. #!/usr/bin/env bash
  2. source "$HOME/bin/bash_ui_lib.sh"
  3.  
  4. optspec="a:b:m:s:e:"
  5. while getopts "$optspec" optchar; do
  6. case $optchar in
  7. a|--origin) # originating db server hostname
  8. O_DB_SERVER="$OPTARG" ;;
  9. b|--destination) # destination db server hostname
  10. D_DB_SERVER="$OPTARG" ;;
  11. m|--master) # originating database name
  12. O_DB="$OPTARG" ;;
  13. s|--slave) # destination database name
  14. D_DB="$OPTARG" ;;
  15. e) # extra options to pass to mysql
  16. O_EXTRA="$OPTARG" ;;
  17. esac
  18. done
  19.  
  20. if [ -z $O_DB_SERVER ]; then
  21. die "Origination database server hostname is required"
  22. fi
  23. if [ -z $D_DB_SERVER ]; then
  24. die "Destination database server hostname is required"
  25. fi
  26. if [ -z $O_DB ]; then
  27. die "Origination database name is required"
  28. fi
  29. if [ -z $D_DB ]; then
  30. die "Destination database name is required"
  31. fi
  32.  
  33. bot "Sync from $O_DB on $O_DB_SERVER to $D_DB on $D_DB_SERVER"
  34.  
  35. date
  36. running "drop destination database if it exists"
  37. time ssh $D_DB_SERVER "mysql -u root -e \"DROP DATABASE $D_DB;\""
  38.  
  39. running "sync database structure"
  40. time ssh -A $O_DB_SERVER "mysqldump -u root --no-data --databases $O_DB | sed -e \"s/$O_DB/$D_DB/\"" | ssh $D_DB_SERVER "cat - | mysql -u root"
  41.  
  42. running "sync database data"
  43. time ssh -A $O_DB_SERVER "mysqldump -u root --databases $O_DB --no-create-info $O_EXTRA | sed -e \"s/$O_DB/$D_DB/\"" | ssh $D_DB_SERVER "cat - | mysql -u root"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement