Skip to content

Instantly share code, notes, and snippets.

@Remiz
Created November 6, 2020 23:46
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 Remiz/ddda5b16fa8711c346bd5229804cbb5e to your computer and use it in GitHub Desktop.
Save Remiz/ddda5b16fa8711c346bd5229804cbb5e to your computer and use it in GitHub Desktop.
mysql sync script
#!/bin/bash
if [ "$HOSTNAME" = "prod-server-name" ]; then
echo 'DO NOT RUN ON PRODUCTION!'
exit
fi
# Create backup / transfer it
ssh user@prod-server-name 'mysqldump --single-transaction -u www -ppassword database | gzip > database.sql.gz'
scp user@prod-server-name:/home/user/database.sql.gz .
ssh user@prod-server-name 'rm database.sql.gz'
# Delete/create DB
sudo -i mysqladmin -f drop database
sudo -i mysqladmin create database
# Copy data
gunzip database.sql.gz
pv database.sql | sudo -i mysql database
# Migrate
./manage.py migrate database
# clean
rm database.sql
echo "### Latest backup for database loaded ###"
echo `date`
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment