O comando restore executa uma restauração completa de um site WordPress a partir de um backup WP Staging. Extrai os ficheiros e importa a base de dados numa única operação, sendo ideal para migrar sites ou recuperar de desastres.
O que vai obter
Após a restauração:
- Instalação WordPress completa com todos os ficheiros restaurados
- Base de dados importada e configurada
- Site pronto a usar na localização de destino
Pré-requisitos
O comando restore requer:
- Uma instalação WordPress existente no caminho de destino (com um
wp-config.phpválido) - Credenciais da base de dados (do wp-config.php ou indicadas em opções)
- Permissões de escrita no diretório de destino
Dica: Para configurar um ambiente WordPress novo com Docker, utilize antes wpstaging add --from=backup.wpstg. Consulte Criar uma cópia local de um site WordPress.
Restauração básica
Restaurar um site WordPress para um diretório específico:
wpstaging restore --path=/var/www/html backup.wpstgOu, se já estiver dentro do diretório raiz do WordPress:
cd /var/www/html
wpstaging restore backup.wpstgRestaurar a partir de um URL remoto
Restaure diretamente a partir de um ficheiro de backup remoto:
wpstaging restore --path=/var/www/html --from=https://example.com/backups/backup.wpstgO CLI transfere o backup, valida-o e restaura numa única operação.
Restaurar para um site em Docker
Para sites geridos pelo ambiente Docker do WP Staging CLI, pode restaurar diretamente utilizando o hostname:
wpstaging restore site.local backup.wpstgOu com a opção --from:
wpstaging restore site.local --from=backup.wpstg
wpstaging restore site.local --from=https://example.com/backups/backup.wpstgRequisitos:
- O site já tem de existir (criado com
wpstaging add site.local) - As credenciais da base de dados são detetadas automaticamente a partir do ficheiro .env do site
- Não é necessário indicar
--pathnem opções da base de dados
Restaurar com uma base de dados externa
Substitua as definições da base de dados do wp-config.php para ligar a um servidor de base de dados diferente:
wpstaging restore --path=/var/www/html \
--db-host=db.example.com \
--db-name=wordpress_db \
--db-user=wp_user \
--db-password=secret_password \
backup.wpstgOpções de ligação à base de dados
Controlo total sobre as definições de ligação à base de dados:
| Opção | Descrição |
|---|---|
--db-host | Host da base de dados (por exemplo, localhost, db.example.com) |
--db-name | Nome da base de dados |
--db-user | Utilizador da base de dados |
--db-password | Palavra-passe da base de dados |
--db-socket | Caminho do socket da base de dados |
--db-charset | Conjunto de carateres (por exemplo, utf8mb4) |
--db-collate | Collation da base de dados |
--db-prefix | Prefixo de tabela WordPress de destino |
Ligação SSL/TLS à base de dados
Para ligações seguras à base de dados:
wpstaging restore --path=/var/www/html \
--db-host=secure-db.example.com \
--db-ssl-ca-cert=/path/to/ca-cert.pem \
--db-ssl-cert=/path/to/client-cert.pem \
--db-ssl-key=/path/to/client-key.pem \
backup.wpstg
| Opção | Descrição |
|---|---|
--db-ssl-ca-cert | Caminho para o ficheiro do certificado CA |
--db-ssl-cert | Caminho para o ficheiro do certificado do cliente |
--db-ssl-key | Caminho para o ficheiro da chave do cliente |
--db-ssl-mode | Modo SSL (skip-verify/preferred) |
Opções de sobreposição
Controle o que é sobreposto durante a restauração:
| Opção | Predefinição | Descrição |
|---|---|---|
--overwrite | yes | Sobrepor os ficheiros do diretório de destino |
--overwrite-db | yes | Sobrepor as tabelas da base de dados |
--overwrite-wproot | no | Sobrepor os ficheiros da raiz do WordPress |
Exemplo – Manter a base de dados existente:
wpstaging restore --path=/var/www/html --overwrite-db=no backup.wpstgExemplo – Sobrepor também os ficheiros do core do WordPress:
wpstaging restore --path=/var/www/html --overwrite-wproot=yes backup.wpstgFiltrar o que restaurar
Utilize as mesmas opções --only-* e --skip-* do comando extract:
Restaurar apenas os plugins e os themes:
wpstaging restore --path=/var/www/html --only-plugins --only-themes backup.wpstgRestaurar tudo exceto os uploads:
wpstaging restore --path=/var/www/html --skip-uploads backup.wpstgConsulte Extrair ficheiros de Backup para a lista completa das opções de filtragem.
Retomar uma restauração interrompida
Se a restauração da base de dados foi interrompida, pode retomar a partir do ficheiro SQL já extraído:
wpstaging restore --path=/var/www/html \
--skip-extract \
--db-file=/path/to/extracted/database.sql \
backup.wpstg| Opção | Descrição |
|---|---|
--skip-extract | Ignorar a extração se os ficheiros já existirem |
--db-file | Utilizar um ficheiro SQL específico para a restauração da base de dados |
Opções de desempenho da base de dados
Afine o desempenho da importação da base de dados:
| Opção | Predefinição | Descrição |
|---|---|---|
--db-batch-size | 1000 | Número de linhas por instrução INSERT |
--db-insert-single | false | Utilizar instruções INSERT de uma linha |
--db-timeout | 15s | Tempo limite da ligação à base de dados |
--db-innodb-strict-mode | off | Ativar o modo estrito do InnoDB durante a restauração |
Exemplo – Importação mais lenta mas mais compatível:
wpstaging restore --path=/var/www/html \
--db-insert-single \
--db-batch-size=100 \
backup.wpstgVerificar os ficheiros restaurados
Verifique a integridade dos ficheiros após a restauração:
wpstaging restore --path=/var/www/html --verify backup.wpstgTodas as opções de restauração
Flags:
-o, --outputdir string Directory for extracted files (default: ./wpstaging-output)
-p, --path string WordPress installation path (required)
--site-url string Target WordPress site URL (use if detection fails)
--overwrite string Overwrite target directory (yes/no) (default "yes")
--overwrite-db string Overwrite database (yes/no) (default "yes")
--overwrite-wproot string Overwrite WP root files (yes/no) (default "no")
--db-prefix string Target WordPress DB table prefix (use if detection fails)
--db-innodb-strict-mode Enable InnoDB strict mode (off by default during restore)
--db-file string Use the extracted backup SQL file to resume database restoration
--db-batch-size int Database insert batch size (default "1000")
--db-insert-single Use single-row INSERT statement per query
--db-timeout string Database connection timeout (default "15s")
--verify Verify integrity of extracted files
--skip-extract Skip extraction if files already exist
--from string Backup file path or remote URL (http/https)Resolução de problemas
Falha na ligação à base de dados
- Confirme que o wp-config.php tem credenciais corretas da base de dados
- Verifique se o servidor de base de dados está em execução e acessível
- Tente indicar as credenciais explicitamente com as opções
--db-* - Para bases de dados remotas, confirme que a firewall permite as ligações
Permissão negada
- Garanta que tem permissões de escrita no diretório de destino
- Em Linux/macOS, pode ser necessário executar como utilizador do servidor web ou usar sudo
Falha na deteção do URL do site
Se o CLI não conseguir detetar o URL do site automaticamente, indique-o manualmente:
wpstaging restore --path=/var/www/html --site-url=https://mysite.com backup.wpstgPróximos passos
- Criar uma cópia local de um site WordPress – Configurar um ambiente local com Docker
- Extrair ficheiros de Backup – Para extração manual sem importação da base de dados
- Inspecionar ficheiros de Backup – Veja o conteúdo do backup antes da restauração