Il comando restore esegue un ripristino completo di un sito WordPress a partire da un Backup WP Staging. Estrae i file e importa il database in un’unica operazione, risultando ideale per migrare i siti o per il ripristino d’emergenza.
Cosa otterrai
Dopo il ripristino:
- Un’installazione WordPress completa con tutti i file ripristinati
- Database importato e configurato
- Il sito è pronto all’uso nella destinazione di destinazione
Prerequisiti
Il comando restore richiede:
- Un’installazione WordPress esistente nel percorso di destinazione (con un
wp-config.phpvalido) - Le credenziali del database (lette da wp-config.php o fornite tramite flag)
- Permessi di scrittura sulla directory di destinazione
Suggerimento: per impostare un nuovo ambiente WordPress con Docker, usa invece wpstaging add --from=backup.wpstg. Vedi Creare una copia locale del sito WordPress.
Ripristino di base
Ripristina un sito WordPress in una directory specifica:
wpstaging restore --path=/var/www/html backup.wpstgOppure, se ti trovi già nella directory radice di WordPress:
cd /var/www/html
wpstaging restore backup.wpstgRipristinare da un URL remoto
Ripristina direttamente da un file di Backup remoto:
wpstaging restore --path=/var/www/html --from=https://example.com/backups/backup.wpstgLa CLI scarica il Backup, lo convalida ed esegue il ripristino in un’unica operazione.
Ripristinare su un sito Docker
Per i siti gestiti dall’ambiente Docker di WP Staging CLI, puoi eseguire il ripristino direttamente usando il nome host:
wpstaging restore site.local backup.wpstgIn alternativa, con il flag --from:
wpstaging restore site.local --from=backup.wpstg
wpstaging restore site.local --from=https://example.com/backups/backup.wpstgRequisiti:
- Il sito deve esistere già (creato con
wpstaging add site.local) - Le credenziali del database vengono rilevate automaticamente dal file .env del sito
- Non serve specificare
--pathné i flag del database
Ripristinare con un database esterno
Sovrascrivi le impostazioni del database lette da wp-config.php per connetterti a un server di database diverso:
wpstaging restore --path=/var/www/html \
--db-host=db.example.com \
--db-name=wordpress_db \
--db-user=wp_user \
--db-password=secret_password \
backup.wpstgOpzioni di connessione al database
Controllo completo sulle impostazioni di connessione al database:
| Flag | Descrizione |
|---|---|
--db-host | Host del database (ad es. localhost, db.example.com) |
--db-name | Nome del database |
--db-user | Nome utente del database |
--db-password | Password del database |
--db-socket | Percorso del socket del database |
--db-charset | Charset del database (ad es. utf8mb4) |
--db-collate | Collation del database |
--db-prefix | Prefisso delle tabelle WordPress di destinazione |
Connessione al database via SSL/TLS
Per connessioni al database sicure:
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 | Descrizione |
|---|---|
--db-ssl-ca-cert | Percorso del file del certificato CA |
--db-ssl-cert | Percorso del file del certificato client |
--db-ssl-key | Percorso del file della chiave client |
--db-ssl-mode | Modalità SSL (skip-verify/preferred) |
Opzioni di sovrascrittura
Controlla cosa viene sovrascritto durante il ripristino:
| Flag | Predefinito | Descrizione |
|---|---|---|
--overwrite | yes | Sovrascrive i file nella directory di destinazione |
--overwrite-db | yes | Sovrascrive le tabelle del database |
--overwrite-wproot | no | Sovrascrive i file della root di WordPress |
Esempio – Mantenere il database esistente:
wpstaging restore --path=/var/www/html --overwrite-db=no backup.wpstgEsempio – Sovrascrivere anche i file core di WordPress:
wpstaging restore --path=/var/www/html --overwrite-wproot=yes backup.wpstgFiltrare cosa ripristinare
Usa gli stessi flag --only-* e --skip-* del comando extract:
Ripristinare solo Plugin e Theme:
wpstaging restore --path=/var/www/html --only-plugins --only-themes backup.wpstgRipristinare tutto tranne gli uploads:
wpstaging restore --path=/var/www/html --skip-uploads backup.wpstgConsulta Estrarre i file di Backup per la lista completa dei flag di filtro.
Riprendere un ripristino interrotto
Se il ripristino del database è stato interrotto, puoi riprenderlo dal file SQL già estratto:
wpstaging restore --path=/var/www/html \
--skip-extract \
--db-file=/path/to/extracted/database.sql \
backup.wpstg| Flag | Descrizione |
|---|---|
--skip-extract | Salta l’estrazione se i file esistono già |
--db-file | Usa un file SQL specifico per il ripristino del database |
Opzioni di performance del database
Affina le performance dell’importazione del database:
| Flag | Predefinito | Descrizione |
|---|---|---|
--db-batch-size | 1000 | Numero di righe per istruzione INSERT |
--db-insert-single | false | Usa istruzioni INSERT a riga singola |
--db-timeout | 15s | Timeout di connessione al database |
--db-innodb-strict-mode | off | Abilita la modalità strict di InnoDB durante il ripristino |
Esempio – Importazione più lenta ma più compatibile:
wpstaging restore --path=/var/www/html \
--db-insert-single \
--db-batch-size=100 \
backup.wpstgVerificare i file ripristinati
Verifica l’integrità dei file dopo il ripristino:
wpstaging restore --path=/var/www/html --verify backup.wpstgTutti i flag di ripristino
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)Risoluzione dei problemi
Connessione al database non riuscita
- Verifica che wp-config.php contenga credenziali del database corrette
- Controlla che il server del database sia in esecuzione e raggiungibile
- Prova a fornire le credenziali in modo esplicito con i flag
--db-* - Per i database remoti, assicurati che il firewall consenta le connessioni
Permesso negato
- Assicurati di avere i permessi di scrittura sulla directory di destinazione
- Su Linux/macOS potresti dover eseguire il comando come utente del web server o usare sudo
Rilevamento dell’URL del sito non riuscito
Se la CLI non riesce a rilevare automaticamente l’URL del sito, indicalo manualmente:
wpstaging restore --path=/var/www/html --site-url=https://mysite.com backup.wpstgProssimi passi
- Creare una copia locale del sito WordPress – Configura un ambiente locale basato su Docker
- Estrarre i file di Backup – Per un’estrazione manuale senza importare il database
- Ispezionare i file di Backup – Visualizza il contenuto del Backup prima di ripristinarlo