Skip to content

Instantly share code, notes, and snippets.

@llbbl
Forked from CatEntangler/copy_db.sh
Last active August 29, 2015 14:19
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save llbbl/7707f87152908b108ec8 to your computer and use it in GitHub Desktop.
Save llbbl/7707f87152908b108ec8 to your computer and use it in GitHub Desktop.
#!/bin/bash
# Simple script to copy a MySQL to another
# Parent backup directory
backup_parent_dir="/path/to/tmp/backup/dir" #notice no ending slash
# MySQL settings
mysql_user="elevateduser"
mysql_password="elevateduserpassword"
# Read MySQL password from stdin if empty
if [ -z "${mysql_password}" ]; then
echo -n "Enter MySQL ${mysql_user} password: "
read -s mysql_password
echo
fi
# Check MySQL password
echo exit | mysql --user=${mysql_user} --password=${mysql_password} -B 2>/dev/null
if [ "$?" -gt 0 ]; then
echo "MySQL ${mysql_user} password incorrect"
exit 1
else
echo "MySQL ${mysql_user} password correct."
fi
mysqldump --user=${mysql_user} --password=${mysql_password} copy_from_db > ${backup_parent_dir}/copyfrom_live_db.sql
echo "Created Production DB Backup"
mysql --user=${mysql_user} --password=${mysql_password} copy_to_db < ${backup_parent_dir}/copyfrom_live_db.sql
echo "Copied Production Backup to Dev"
rm ${backup_parent_dir}/copyfrom_live_db.sql
echo "Deleted live db dump"
echo "Copy of www live completed to rebuild"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment