Skip to content

Instantly share code, notes, and snippets.

@pvmchau
Created September 6, 2012 01:37
Show Gist options
  • Save pvmchau/3649713 to your computer and use it in GitHub Desktop.
Save pvmchau/3649713 to your computer and use it in GitHub Desktop.
#!/bin/sh
# Configuration:
DRUPAL_ROOT=/home/langgo/demo/langgo
DRUPAL_DIR=$DRUPAL_ROOT/sites/langgo
DB_BACKUP_FILE="https://raw.github.com/gist/5f39454c80939a29d425/f2045d53d15d41f2f8cfbc8570dfdb243667fb76/test.sql"
DRUSH_MAKE_FILE="https://raw.github.com/gist/b84fd6235b58779398c5/3324cbb4faa4d3c39a3af6b26ea7cf418c9ab00f/test.make"
ROOT_USER_NAME="admin"
ROOT_USER_PASS="admin"
DB_NAME="langgo_db"
# Create site root
rm -rf $DRUPAL_ROOT
mkdir -p $DRUPAL_ROOT/Backupfile
cd $DRUPAL_ROOT
# Make site from makefile
wget $DRUSH_MAKE_FILE --directory-prefix="Backupfile"
drush make "Backupfile/*.make" $DRUPAL_ROOT
# Restore site db
mysql< CREATE DATABASE $DB_NAME
mysql< CREATE USER $ROOT_USER_NAME@localhost IDENTIFIED BY $ROOT_USER_PASS
mysql< GRANT ALL PRIVILEGES ON $DB_NAME.* TO $ROOT_USER_NAME@localhost IDENTIFIED BY $ROOT_USER_PASS
mysql< FLUSH PRIVILEGES
wget $DB_BACKUP_FILE --directory-prefix="Backupfile"
mysql -u $ROOT_USER_NAME -p$ROOT_USER_PASS $DB_NAME < Backupfile/*.sql
#drush sql-cli < "Backupfile/*.sql"
# Create settings.php file
mrdir $DRUPAL_DIR
cp sites/default/default.settings.php $DRUPAL_DIR/settings.php
$DEFAULT_D6_SETTING_TEXT="mysql://username:password@localhost/databasename;"
$SETTING_D6_TEXT=mysql://$ROOT_USER_NAME:$ROOT_USER_PASS@localhost/$DB_NAME
grep -rl $DEFAULT_D6_SETTING_TEXT $DRUPAL_DIR/settings.php | xargs sed -i $SETTING_D6_TEXT
$DEFAULT_D7_SETTING_TEXT="$databases = array();"
$SETTING_D7_TEXT=$databases=array('default' =>array('default'=>array('database'=>$DB_NAME,'username'=>$ROOT_USER_NAME,'password' =>$ROOT_USER_PASS,'host'=>'localhost','port'=>'','driver'=>'mysql','prefix'=>'',),),);
grep -rl $DEFAULT_D7_SETTING_TEXT $DRUPAL_DIR/settings.php | xargs sed -i $SETTING_D7_TEXT
# Remove backup file
rm -rf $DRUPAL_ROOT/Backupfile
@drushman
Copy link

drushman commented Sep 6, 2012

!/bin/sh

Configuration:

DRUPAL_ROOT=/home/langgo/demo/langgo
DRUPAL_DIR=$DRUPAL_ROOT/sites/langgo
DB_BACKUP_FILE="https://raw.github.com/gist/5f39454c80939a29d425/f2045d53d15d41f2f8cfbc8570dfdb243667fb76/test.sql"
DRUSH_MAKE_FILE="https://raw.github.com/gist/b84fd6235b58779398c5/3324cbb4faa4d3c39a3af6b26ea7cf418c9ab00f/test.make"
ROOT_USER_NAME="admin"
ROOT_USER_PASS="admin"
DB_NAME="langgo_db"

Create site root

rm -rf $DRUPAL_ROOT
mkdir -p $DRUPAL_ROOT/Backupfile
cd $DRUPAL_ROOT

Make site from makefile

wget $DRUSH_MAKE_FILE --directory-prefix="Backupfile"
drush make "Backupfile/*.make" $DRUPAL_ROOT

Restore site db

mysql -uroot -proot -e "CREATE DATABASE $DB_NAME;"
mysql -uroot -proot -e "CREATE USER '$ROOT_USER_NAME'@'localhost' IDENTIFIED BY '$ROOT_USER_PASS';"
mysql -uroot -proot -e "GRANT ALL PRIVILEGES ON $DB_NAME.* TO $ROOT_USER_NAME@localhost IDENTIFIED BY $ROOT_USER_PASS;"
mysql -uroot -proot -e "FLUSH PRIVILEGES;"
wget $DB_BACKUP_FILE --directory-prefix="Backupfile"
mysql -u $ROOT_USER_NAME -p$ROOT_USER_PASS $DB_NAME < Backupfile/*.sql

drush sql-cli < "Backupfile/*.sql"

Create settings.php file

mrdir $DRUPAL_DIR
cp sites/default/default.settings.php $DRUPAL_DIR/settings.php
$DEFAULT_D6_SETTING_TEXT="mysql://username:password@localhost/databasename;"
$SETTING_D6_TEXT=mysql://$ROOT_USER_NAME:$ROOT_USER_PASS@localhost/$DB_NAME
grep -rl $DEFAULT_D6_SETTING_TEXT $DRUPAL_DIR/settings.php | xargs sed -i $SETTING_D6_TEXT
$DEFAULT_D7_SETTING_TEXT="$databases = array();"
$SETTING_D7_TEXT=$databases=array('default' =>array('default'=>array('database'=>$DB_NAME,'username'=>$ROOT_USER_NAME,'password' =>$ROOT_USER_PASS,'host'=>'localhost','port'=>'','driver'=>'mysql','prefix'=>'',),),);
grep -rl $DEFAULT_D7_SETTING_TEXT $DRUPAL_DIR/settings.php | xargs sed -i $SETTING_D7_TEXT

Remove backup file

rm -rf $DRUPAL_ROOT/Backupfile

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment