Servidor de Desenvolvimento
Defina seus creds de desenvolvimento
CUR_URL=development.server.com
CUR_DB_HOST=database_host
CUR_DB_NAME=database_name
CUR_DB_USER=database_user
CUR_DB_PASS=database_password
CUR_PATH=/path/to/site/
Informações do novo servidor
NEW_URL=production.server.com
NEW_DB_HOST=new_database_host
NEW_DB_NAME=new_database_name
NEW_DB_USER=new_database_user
NEW_DB_PASS=new_database_password
Local e nome do zip de backup
BACKUPMYSQLFILE=mysqlbackup.sql
BACKUPFILE=siteexport.tgz
exportar banco de dados
mysqldump -h localhost -u $CUR_DB_USER -p$CUR_DB_PASS $CUR_DB_NAME > $CUR_PATH$BACKUPMYSQLFILE
encontrar e substituir URLs antigos no arquivo SQL
sed -i “s/${CUR_URL}/${NEW_URL}/g” $CUR_PATH$BACKUPMYSQLFILE
localizar e substituir informações do banco de dados antigo no arquivo wp-config.php
sed -i.backup -e”s/define(‘DB_NAME’, ‘${CUR_DB_NAME}’);/define(‘DB_NAME’, ‘${NEW_DB_NAME}’);/g” -e”s/define(‘DB_USER’, ‘${CUR_DB_USER}’);/define(‘DB_USER’, ‘${NEW_DB_USER}’);/g” -e”s/define(‘DB_PASSWORD’, ‘${CUR_DB_PASS}’);/define(‘DB_PASSWORD’, ‘${NEW_DB_PASS}’);/g” -e”s/define(‘DB_HOST’, ‘${CUR_DB_HOST}’);/define(‘DB_HOST’, ‘${NEW_DB_HOST}’);/g” ${CUR_PATH}wp-config.php
mude para o diretório do site, compacte-o e mova-o para a raiz do documento
cd ${CUR_PATH} && tar -czf ../${BACKUPFILE} .
mv ../$BACKUPFILE $CUR_PATH
Servidor de Produção
Configurar creds de produção
OLD_URL=http://someURL.com/
NEW_PATH=/path/to/site/
NEW_DB_HOST=some_host
NEW_DB_NAME=database_name
NEW_DB_USER=database_user_name
NEW_DB_PASS=database_password
baixe e extraia o arquivo zip de backup do site
wget {$OLD_URL}siteexport.tgz
tar -xsf siteexport.tgz -C {$NEW_PATH}
importar dados para o banco de dados
mysql -h {$NEW_DB_HOST} -D {$NEW_DB_NAME} -u {$NEW_DB_USER} -p’{$NEW_DB_PASS}’ < {$NEW_PATH}mysqlbackup.sql
limpar arquivos
rm {$NEW_PATH}siteexport.tgz
rm {$NEW_PATH}mysqlbackup.sql
veja os bashscripts completos aqui, https://gist.github.com/wookiecooking/5578175