Mover site WordPress via terminal

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 -es/define(‘DB_NAME’, ${CUR_DB_NAME}’);/define(‘DB_NAME’, ‘${NEW_DB_NAME}’);/g -es/define(‘DB_USER’, ${CUR_DB_USER}’);/define(‘DB_USER’, ‘${NEW_DB_USER}’);/g -es/define(‘DB_PASSWORD’, ${CUR_DB_PASS}’);/define(‘DB_PASSWORD’, ‘${NEW_DB_PASS}’);/g -es/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