Skip to content

Instantly share code, notes, and snippets.

@thecarlhall
Created February 4, 2012 23:25
Show Gist options
  • Save thecarlhall/1741064 to your computer and use it in GitHub Desktop.
Save thecarlhall/1741064 to your computer and use it in GitHub Desktop.
DATE=$(date +%Y%m%d-%H%M)
SITE_URL=papers.hallwaytech.com
DB_NAME=cod2.aar
DB_PASS="mm07e1bca901%7Emm"
DATA_FILE=$DB_NAME-$DATE.sql
SITE_FILE=papers_$DATE.tar.gz
SERVER_LOC=/srv/www/cod2.hallwaytech.com
# dump local mysql to data/
mysqldump -u root -p$DB_PASS $DB_NAME > $DATA_FILE
gzip $DATA_FILE
# zip up local site htdocs/
(cd $SERVER_LOG && tar zcf $SITE_FILE htdocs/)
# ship over sql
scp $DATA_FILE.gz drupal@$SITE_URL:
# ship over site
scp $SITE_FILE drupal@$SITE_URL:
# export & archive remote db
CMD="mysqldump -u root -p$DB_PASS $DB_NAME > $DATA_FILE"
CMD="$CMD && gzip $DATA_FILE"
# archive remote site
CMD="$CMD && tar zcf $SITE_FILE $SERVER_LOC/htdocs"
# explode and move new site
CMD="$CMD && tar zxf $SITE_FILE.tar.gz"
CMD="$CMD && sudo rm $SERVER_LOC/htdocs"
CMD="$CMD && sudo mv htdocs $SERVER_LOC"
# drop & create the remote db
CMD="$CMD && mysqladmin -u root -p$DB_PASS drop $DB_NAME create $DB_NAME"
# load local db
CMD="$CMD && gunzip $DATA_FILE.gz"
CMD="$CMD && mysql -u root -p$DB_PASS < $DATA_FILE"
# restart apache
CMD="$CMD && sudo service apache2 restart"
ssh -u drupal $SITE_URL -t "$CMD"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment