Restaurar um site WordPress a partir de um Backup

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.php vá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.wpstg

Ou, se já estiver dentro do diretório raiz do WordPress:

cd /var/www/html
wpstaging restore backup.wpstg

Restaurar 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.wpstg

O 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.wpstg

Ou com a opção --from:

wpstaging restore site.local --from=backup.wpstg
wpstaging restore site.local --from=https://example.com/backups/backup.wpstg

Requisitos:

  • 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 --path nem 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.wpstg

Opções de ligação à base de dados

Controlo total sobre as definições de ligação à base de dados:

OpçãoDescrição
--db-hostHost da base de dados (por exemplo, localhost, db.example.com)
--db-nameNome da base de dados
--db-userUtilizador da base de dados
--db-passwordPalavra-passe da base de dados
--db-socketCaminho do socket da base de dados
--db-charsetConjunto de carateres (por exemplo, utf8mb4)
--db-collateCollation da base de dados
--db-prefixPrefixo 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çãoDescrição
--db-ssl-ca-certCaminho para o ficheiro do certificado CA
--db-ssl-certCaminho para o ficheiro do certificado do cliente
--db-ssl-keyCaminho para o ficheiro da chave do cliente
--db-ssl-modeModo SSL (skip-verify/preferred)

Opções de sobreposição

Controle o que é sobreposto durante a restauração:

OpçãoPredefiniçãoDescrição
--overwriteyesSobrepor os ficheiros do diretório de destino
--overwrite-dbyesSobrepor as tabelas da base de dados
--overwrite-wprootnoSobrepor os ficheiros da raiz do WordPress

Exemplo – Manter a base de dados existente:

wpstaging restore --path=/var/www/html --overwrite-db=no backup.wpstg

Exemplo – Sobrepor também os ficheiros do core do WordPress:

wpstaging restore --path=/var/www/html --overwrite-wproot=yes backup.wpstg

Filtrar 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.wpstg

Restaurar tudo exceto os uploads:

wpstaging restore --path=/var/www/html --skip-uploads backup.wpstg

Consulte 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çãoDescrição
--skip-extractIgnorar a extração se os ficheiros já existirem
--db-fileUtilizar 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çãoPredefiniçãoDescrição
--db-batch-size1000Número de linhas por instrução INSERT
--db-insert-singlefalseUtilizar instruções INSERT de uma linha
--db-timeout15sTempo limite da ligação à base de dados
--db-innodb-strict-modeoffAtivar 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.wpstg

Verificar os ficheiros restaurados

Verifique a integridade dos ficheiros após a restauração:

wpstaging restore --path=/var/www/html --verify backup.wpstg

Todas 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.wpstg

Próximos passos

Updated on May 23, 2026

Rene Hermenau

Autor: Rene Hermenau

About the author: René Hermenau is the founder of WP STAGING. He works on WordPress backups, staging, migrations, database handling, and safe deployment workflows.