The restore command performs a complete restoration of a WordPress site from a WP Staging backup. It extracts files and imports the database in one operation, making it ideal for migrating sites or recovering from disasters.
Qué obtendrás
Tras la restauración:
- Instalación completa de WordPress con todos los archivos restaurados
- Base de datos importada y configurada
- Sitio listo para usar en la ubicación de destino
Requisitos previos
El comando restore requiere:
- Una instalación de WordPress existente en la ruta de destino (con un
wp-config.phpválido) - Credenciales de base de datos (de wp-config.php o proporcionadas mediante indicadores)
- Permisos de escritura en el directorio de destino
Tip: For setting up a fresh WordPress environment with Docker, use wpstaging add --from=backup.wpstg instead. See Create a Local Copy of WordPress Site.
Restauración básica
Restaura un sitio de WordPress en un directorio específico:
wpstaging restore --path=/var/www/html backup.wpstgO, si ya estás en el directorio raíz de WordPress:
cd /var/www/html
wpstaging restore backup.wpstgRestaurar desde URL remota
Restaura directamente desde un archivo de Backup remoto:
wpstaging restore --path=/var/www/html --from=https://example.com/backups/backup.wpstgLa CLI descarga el Backup, lo valida y lo restaura en una sola operación.
Restaurar en un sitio Docker
Para sitios gestionados por el entorno Docker de WP Staging CLI, puedes restaurar directamente usando el nombre de host:
wpstaging restore site.local backup.wpstgOr with the --from flag:
wpstaging restore site.local --from=backup.wpstg
wpstaging restore site.local --from=https://example.com/backups/backup.wpstgRequisitos:
- El sitio ya debe existir (creado con
wpstaging add site.local) - Las credenciales de base de datos se detectan automáticamente del archivo .env del sitio
- No es necesario especificar
--pathni indicadores de base de datos
Restaurar con base de datos externa
Reemplaza los ajustes de base de datos de wp-config.php para conectarte a un servidor de base de datos 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.wpstgOpciones de conexión a base de datos
Control total sobre los ajustes de conexión a base de datos:
| Flag | Description |
|---|---|
--db-host | Database host (e.g., localhost, db.example.com) |
--db-name | Database name |
--db-user | Database username |
--db-password | Database password |
--db-socket | Database socket path |
--db-charset | Database charset (e.g., utf8mb4) |
--db-collate | Database collation |
--db-prefix | Target WordPress table prefix |
Conexión a base de datos SSL/TLS
Para conexiones seguras a la base de datos:
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
| Flag | Description |
|---|---|
--db-ssl-ca-cert | Path to CA certificate file |
--db-ssl-cert | Path to client certificate file |
--db-ssl-key | Path to client key file |
--db-ssl-mode | SSL mode (skip-verify/preferred) |
Opciones de sobreescritura
Controla qué se sobreescribe durante la restauración:
| Flag | Default | Description |
|---|---|---|
--overwrite | yes | Overwrite target directory files |
--overwrite-db | yes | Overwrite database tables |
--overwrite-wproot | no | Overwrite WordPress root files |
Ejemplo: conservar la base de datos existente:
wpstaging restore --path=/var/www/html --overwrite-db=no backup.wpstgEjemplo: también sobreescribir los archivos de núcleo de WordPress:
wpstaging restore --path=/var/www/html --overwrite-wproot=yes backup.wpstgFiltrar qué restaurar
Usa los mismos indicadores --only-* y --skip-* que el comando extract:
Restaurar solo Plugins y Themes:
wpstaging restore --path=/var/www/html --only-plugins --only-themes backup.wpstgRestaurar todo excepto uploads:
wpstaging restore --path=/var/www/html --skip-uploads backup.wpstgConsulta Extraer archivos de Backup para ver la lista completa de indicadores de filtro.
Reanudar restauración interrumpida
Si la restauración de la base de datos fue interrumpida, puedes reanudarla desde el archivo SQL extraído:
wpstaging restore --path=/var/www/html \
--skip-extract \
--db-file=/path/to/extracted/database.sql \
backup.wpstg| Flag | Description |
|---|---|
--skip-extract | Skip extraction if files already exist |
--db-file | Use a specific SQL file for database restoration |
Opciones de rendimiento de base de datos
Ajusta el rendimiento de la importación de base de datos:
| Flag | Default | Description |
|---|---|---|
--db-batch-size | 1000 | Number of rows per INSERT statement |
--db-insert-single | false | Use single-row INSERT statements |
--db-timeout | 15s | Database connection timeout |
--db-innodb-strict-mode | off | Enable InnoDB strict mode during restore |
Ejemplo: importación más lenta pero más compatible:
wpstaging restore --path=/var/www/html \
--db-insert-single \
--db-batch-size=100 \
backup.wpstgVerificar archivos restaurados
Verifica la integridad de los archivos tras la restauración:
wpstaging restore --path=/var/www/html --verify backup.wpstgTodos los indicadores de restore
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)Solución de problemas
Error de conexión a base de datos
- Verifica que wp-config.php tiene las credenciales de base de datos correctas
- Comprueba que el servidor de base de datos está en ejecución y es accesible
- Intenta proporcionar las credenciales explícitamente con los indicadores
--db-* - Para bases de datos remotas, asegúrate de que el firewall permite las conexiones
Permiso denegado
- Asegúrate de tener permisos de escritura en el directorio de destino
- En Linux/macOS, puede que necesites ejecutar como el usuario del servidor web o usar sudo
Error al detectar la URL del sitio
Si la CLI no puede detectar la URL del sitio automáticamente, proporciónala manualmente:
wpstaging restore --path=/var/www/html --site-url=https://mysite.com backup.wpstgPasos siguientes
- Create a Local Copy of WordPress Site – Set up a Docker-based local environment
- Extraer archivos de Backup – Para extracción manual sin importación de base de datos
- Inspeccionar archivos de Backup – Ver el contenido del Backup antes de restaurarlo