La commande restore effectue une restauration complète d’un site WordPress depuis un Backup WP Staging. Elle extrait les fichiers et importe la base de données en une seule opération, ce qui la rend idéale pour migrer des sites ou récupérer après des sinistres.
Ce que tu obtiendras
Après la restauration :
- Installation WordPress complète avec tous les fichiers restaurés
- Base de données importée et configurée
- Site prêt à utiliser à l’emplacement cible
Prérequis
La commande restore nécessite :
- Une installation WordPress existante au chemin cible (avec un
wp-config.phpvalide) - Les identifiants de base de données (depuis wp-config.php ou fournis via des options)
- Des permissions d’écriture sur le répertoire cible
Conseil : pour configurer un nouvel environnement WordPress avec Docker, utilise plutôt wpstaging add --from=backup.wpstg. Voir Créer une copie locale d’un site WordPress.
Restauration de base
Restaure un site WordPress dans un répertoire spécifique :
wpstaging restore --path=/var/www/html backup.wpstgOu, si tu es déjà dans le répertoire racine WordPress :
cd /var/www/html
wpstaging restore backup.wpstgRestaurer depuis une URL distante
Restaure directement depuis un fichier de Backup distant :
wpstaging restore --path=/var/www/html --from=https://example.com/backups/backup.wpstgLe CLI télécharge le Backup, le valide et le restaure en une seule opération.
Restaurer vers un site Docker
Pour les sites gérés par l’environnement Docker de WP Staging CLI, tu peux restaurer directement en utilisant le nom d’hôte :
wpstaging restore site.local backup.wpstgOu avec l’option --from :
wpstaging restore site.local --from=backup.wpstg
wpstaging restore site.local --from=https://example.com/backups/backup.wpstgExigences :
- Le site doit déjà exister (créé avec
wpstaging add site.local) - Les identifiants de base de données sont détectés automatiquement depuis le fichier .env du site
- Pas besoin de spécifier
--pathou les options de base de données
Restaurer avec une base de données externe
Remplace les paramètres de base de données depuis wp-config.php pour se connecter à un serveur de base de données différent :
wpstaging restore --path=/var/www/html \
--db-host=db.example.com \
--db-name=wordpress_db \
--db-user=wp_user \
--db-password=secret_password \
backup.wpstgOptions de connexion à la base de données
Contrôle total sur les paramètres de connexion à la base de données :
| Option | Description |
|---|---|
--db-host | Hôte de la base de données (ex. : localhost, db.example.com) |
--db-name | Nom de la base de données |
--db-user | Nom d’utilisateur de la base de données |
--db-password | Mot de passe de la base de données |
--db-socket | Chemin du socket de base de données |
--db-charset | Jeu de caractères de la base de données (ex. : utf8mb4) |
--db-collate | Interclassement de la base de données |
--db-prefix | Préfixe de table WordPress cible |
Connexion à la base de données SSL/TLS
Pour les connexions sécurisées à la base de données :
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
| Option | Description |
|---|---|
--db-ssl-ca-cert | Chemin vers le fichier de certificat CA |
--db-ssl-cert | Chemin vers le fichier de certificat client |
--db-ssl-key | Chemin vers le fichier de clé client |
--db-ssl-mode | Mode SSL (skip-verify/preferred) |
Options de remplacement
Contrôle ce qui est remplacé lors de la restauration :
| Option | Défaut | Description |
|---|---|---|
--overwrite | yes | Remplacer les fichiers du répertoire cible |
--overwrite-db | yes | Remplacer les tables de la base de données |
--overwrite-wproot | no | Remplacer les fichiers racine WordPress |
Exemple – Conserver la base de données existante :
wpstaging restore --path=/var/www/html --overwrite-db=no backup.wpstgExemple – Remplacer également les fichiers cœur WordPress :
wpstaging restore --path=/var/www/html --overwrite-wproot=yes backup.wpstgFiltrer ce qui doit être restauré
Utilise les mêmes options --only-* et --skip-* que la commande extract :
Restaurer uniquement les Plugins et les Themes :
wpstaging restore --path=/var/www/html --only-plugins --only-themes backup.wpstgRestaurer tout sauf les uploads :
wpstaging restore --path=/var/www/html --skip-uploads backup.wpstgVoir Extraire des fichiers de Backup pour la liste complète des options de filtre.
Reprendre une restauration interrompue
Si la restauration de la base de données a été interrompue, tu peux reprendre depuis le fichier SQL extrait :
wpstaging restore --path=/var/www/html \
--skip-extract \
--db-file=/path/to/extracted/database.sql \
backup.wpstg| Option | Description |
|---|---|
--skip-extract | Ignorer l’extraction si les fichiers existent déjà |
--db-file | Utiliser un fichier SQL spécifique pour la restauration de la base de données |
Options de performance de la base de données
Optimise les performances de l’import de base de données :
| Option | Défaut | Description |
|---|---|---|
--db-batch-size | 1000 | Nombre de lignes par instruction INSERT |
--db-insert-single | false | Utiliser des instructions INSERT à ligne unique |
--db-timeout | 15s | Délai d’expiration de connexion à la base de données |
--db-innodb-strict-mode | off | Activer le mode strict InnoDB pendant la restauration |
Exemple – Import plus lent mais plus compatible :
wpstaging restore --path=/var/www/html \
--db-insert-single \
--db-batch-size=100 \
backup.wpstgVérifier les fichiers restaurés
Vérifie l’intégrité des fichiers après la restauration :
wpstaging restore --path=/var/www/html --verify backup.wpstgToutes les options de restauration
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)Dépannage
Échec de la connexion à la base de données
- Vérifie que wp-config.php a les bons identifiants de base de données
- Vérifie que le serveur de base de données est en cours d’exécution et accessible
- Essaie de fournir les identifiants explicitement avec les options
--db-* - Pour les bases de données distantes, assure-toi que le pare-feu autorise les connexions
Permission refusée
- Assure-toi d’avoir des permissions d’écriture sur le répertoire cible
- Sur Linux/macOS, tu devras peut-être exécuter en tant qu’utilisateur du serveur web ou utiliser sudo
Échec de la détection de l’URL du site
Si le CLI ne peut pas détecter automatiquement l’URL du site, fournis-la manuellement :
wpstaging restore --path=/var/www/html --site-url=https://mysite.com backup.wpstgProchaines étapes
- Créer une copie locale d’un site WordPress – Configurer un environnement local basé sur Docker
- Extraire des fichiers de Backup – Pour une extraction manuelle sans import de base de données
- Inspecter des fichiers de Backup – Visualiser le contenu du Backup avant la restauration