Skip to content

Instantly share code, notes, and snippets.

@Remiz
Created November 6, 2020 23:46
Show Gist options
  • Select an option

  • Save Remiz/ddda5b16fa8711c346bd5229804cbb5e to your computer and use it in GitHub Desktop.

Select an option

Save Remiz/ddda5b16fa8711c346bd5229804cbb5e to your computer and use it in GitHub Desktop.

Revisions

  1. Remiz created this gist Nov 6, 2020.
    28 changes: 28 additions & 0 deletions local_sync.sh
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,28 @@
    #!/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`