Advertisement
Guest User

Untitled

a guest
May 12th, 2017
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.99 KB | None | 0 0
  1. #!/bin/bash
  2.  
  3. #1. Add ssh key (stage key) to PROD machine
  4. # 1.1 On stage:
  5. # cat ~/.ssh/id_rsa.pub
  6. # 1.2 On prod
  7. # nano ~/.ssh/authorized_keys
  8. # * paste key*
  9.  
  10. DATE=$(date +"%Y-%m-%d")
  11. REMOTE_HOST="user@ip"
  12. REMOTE_FILE="dbname-${DATE}.sql.gz"
  13. REMOTE_FILE_PATH="/path-to-backups/${REMOTE_FILE}"
  14. LOCAL_FILE="dbname-${DATE}.sql"
  15. LOCAL_MYSQL_DB="dbname"
  16. LOCAL_MYSQL_USER="user"
  17. LOCAL_MYSQL_PASSWORD="password"
  18.  
  19.  
  20. #2. Copy DB backup file from stage to prod (on stage)
  21. echo "Fetching backup file from prod server.."
  22. scp $REMOTE_HOST:$REMOTE_FILE_PATH ~/
  23. echo " -> Done\n"
  24.  
  25. #3. Extract db backup file
  26. echo "Extracing backup.."
  27. gunzip $REMOTE_FILE
  28. echo " -> Done\n"
  29.  
  30. #4. Replace DB from db backup file
  31. echo "Replacing database.."
  32. mysql -u$LOCAL_MYSQL_USER -p$LOCAL_MYSQL_PASSWORD $LOCAL_MYSQL_DB < ~/$LOCAL_FILE
  33. echo " -> Done\n"
  34.  
  35. #5. Remove db backup
  36. echo "Removing temp backup.."
  37. rm ~/$LOCAL_FILE
  38. echo " -> Done\n"
  39.  
  40. #6. Done
  41. echo "All done!"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement