Restaurer un site WordPress depuis un Backup

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.php valide)
  • 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.wpstg

Ou, si tu es déjà dans le répertoire racine WordPress :

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

Restaurer depuis une URL distante

Restaure directement depuis un fichier de Backup distant :

wpstaging restore --path=/var/www/html --from=https://example.com/backups/backup.wpstg

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

Ou avec l’option --from :

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

Exigences :

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

Options de connexion à la base de données

Contrôle total sur les paramètres de connexion à la base de données :

OptionDescription
--db-hostHôte de la base de données (ex. : localhost, db.example.com)
--db-nameNom de la base de données
--db-userNom d’utilisateur de la base de données
--db-passwordMot de passe de la base de données
--db-socketChemin du socket de base de données
--db-charsetJeu de caractères de la base de données (ex. : utf8mb4)
--db-collateInterclassement de la base de données
--db-prefixPré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
OptionDescription
--db-ssl-ca-certChemin vers le fichier de certificat CA
--db-ssl-certChemin vers le fichier de certificat client
--db-ssl-keyChemin vers le fichier de clé client
--db-ssl-modeMode SSL (skip-verify/preferred)

Options de remplacement

Contrôle ce qui est remplacé lors de la restauration :

OptionDéfautDescription
--overwriteyesRemplacer les fichiers du répertoire cible
--overwrite-dbyesRemplacer les tables de la base de données
--overwrite-wprootnoRemplacer les fichiers racine WordPress

Exemple – Conserver la base de données existante :

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

Exemple – Remplacer également les fichiers cœur WordPress :

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

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

Restaurer tout sauf les uploads :

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

Voir 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
OptionDescription
--skip-extractIgnorer l’extraction si les fichiers existent déjà
--db-fileUtiliser 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 :

OptionDéfautDescription
--db-batch-size1000Nombre de lignes par instruction INSERT
--db-insert-singlefalseUtiliser des instructions INSERT à ligne unique
--db-timeout15sDélai d’expiration de connexion à la base de données
--db-innodb-strict-modeoffActiver 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.wpstg

Vérifier les fichiers restaurés

Vérifie l’intégrité des fichiers après la restauration :

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

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

Prochaines étapes

Updated on mai 23, 2026

Rene Hermenau

Auteur : 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.