Skip to content

Instantly share code, notes, and snippets.

@coolbung
Last active August 29, 2015 14:05
Show Gist options
  • Save coolbung/aac7107face3d76de998 to your computer and use it in GitHub Desktop.
Save coolbung/aac7107face3d76de998 to your computer and use it in GitHub Desktop.
#!/usr/bin/env bash
# Remote Server - This is where you keep a clean copy of your demo
# Local server - The server local to this script. This is where your publicly accessible demo resides.
# Remote server connection
REMOTE_PORT=2022
REMOTE_SERVER=subzero.com
REMOTE_USER=subzero
REMOTE_PATH=/home/subzero/httpdocs/demos/js25
# Local Path setup
LOCAL_PATH=/home/scorpion/httpdocs/demos/
LOCAL_TMP=/home/scorpion/backup/refresh/tmp
# Remote Database
REMOTE_HOST=host
REMOTE_DB=db
REMOTE_DB_USR=user
REMOTE_DB_PASS=pass
REMOTE_PREFIX=prefix
# Local Database
LOCAL_HOST=host
LOCAL_DB=db
LOCAL_DB_USR=user
LOCAL_DB_PASS=pass
# Take everything including configuration.php
#rsync -avz --delete --exclude=**/tmp -e 'ssh -p'$REMOTE_PORT $REMOTE_USER@$REMOTE_SERVER:$REMOTE_PATH $LOCAL_PATH
# Skip config cache etc
rsync -avz --delete --exclude=**/cache --exclude=**/administrator/cache/ --exclude=**/tmp --exclude=**/configuration.php -e 'ssh -p'$REMOTE_PORT $REMOTE_USER@$REMOTE_SERVER:$REMOTE_PATH $LOCAL_PATH
#fix permission issues if needed
#chmod 755 $LOCAL_PATH
#cd $LOCAL_PATH
#find . -type f -exec chmod 644 {} \;
#find . -type d -exec chmod 755 {} \;
# Connect & Take Backup of Remote Server
ssh -p$REMOTE_PORT $REMOTE_USER@$REMOTE_SERVER mysqldump -h $REMOTE_HOST --user=$REMOTE_DB_USR --password=$REMOTE_DB_PASS $REMOTE_DB --ignore-table=$REMOTE_DB.$REMOTE_PREFIX'_session' > $LOCAL_TMP/demojs.sql
#exit
# Restore Database
mysql -u $LOCAL_DB_USR -p$LOCAL_DB_PASS -h $LOCAL_HOST $LOCAL_DB< $LOCAL_TMP/demojs.sql
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment