Eine WordPress-Website aus einem Backup wiederherstellen

Der restore-Befehl führt eine vollständige Wiederherstellung einer WordPress-Website aus einem WP Staging Backup durch. Er extrahiert Dateien und importiert die Datenbank in einem Vorgang, was ihn ideal für die Migration von Websites oder die Wiederherstellung nach einem Ausfall macht.

Was du erhältst

Nach der Wiederherstellung:

  • Vollständige WordPress-Installation mit allen wiederhergestellten Dateien
  • Datenbank importiert und konfiguriert
  • Website bereit zur Nutzung am Zielort

Voraussetzungen

Der Restore-Befehl erfordert:

  • Eine bestehende WordPress-Installation im Zielpfad (mit einer gültigen wp-config.php)
  • Datenbank-Zugangsdaten (aus der wp-config.php oder über Flags angegeben)
  • Schreibrechte für das Zielverzeichnis

Tipp: Für die Einrichtung einer neuen WordPress-Umgebung mit Docker verwende stattdessen wpstaging add --from=backup.wpstg. Siehe Create a Local Copy of WordPress Site.

Einfache Wiederherstellung

Stelle eine WordPress-Website in ein bestimmtes Verzeichnis wieder her:

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

Oder, wenn du dich bereits im WordPress-Stammverzeichnis befindest:

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

Von einer Remote-URL wiederherstellen

Stelle direkt aus einer entfernten Backup-Datei wieder her:

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

Die CLI lädt das Backup herunter, validiert es und stellt es in einem Vorgang wieder her.

Restore to Dockerized Site

Für Websites, die von der Docker-Umgebung der WP Staging CLI verwaltet werden, kannst du direkt über den Hostnamen wiederherstellen:

wpstaging restore site.local backup.wpstg

Oder mit dem --from-Flag:

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

Voraussetzungen:

  • Die Website muss bereits existieren (erstellt mit wpstaging add site.local)
  • Datenbank-Zugangsdaten werden automatisch aus der .env-Datei der Website erkannt
  • Kein --path oder Datenbank-Flags erforderlich

Mit externer Datenbank wiederherstellen

Überschreibe die Datenbankeinstellungen aus der wp-config.php, um eine Verbindung zu einem anderen Datenbankserver herzustellen:

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

Datenbankverbindungsoptionen

Volle Kontrolle über die Datenbankverbindungseinstellungen:

FlagBeschreibung
--db-hostDatenbank-Host (z. B. localhost, db.example.com)
--db-nameDatenbankname
--db-userDatenbank-Benutzername
--db-passwordDatenbank-Passwort
--db-socketDatenbank-Socket-Pfad
--db-charsetDatabase charset (e.g., utf8mb4)
--db-collateDatabase collation
--db-prefixTarget WordPress table prefix

SSL/TLS-Datenbankverbindung

Für sichere Datenbankverbindungen:

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
FlagBeschreibung
--db-ssl-ca-certPfad zur CA-Zertifikatsdatei
--db-ssl-certPfad zur Client-Zertifikatsdatei
--db-ssl-keyPfad zur Client-Schlüsseldatei
--db-ssl-modeSSL-Modus (skip-verify/preferred)

Überschreiboptionen

Steuere, was während der Wiederherstellung überschrieben wird:

FlagStandardBeschreibung
--overwriteyesDateien im Zielverzeichnis überschreiben
--overwrite-dbyesDatenbanktabellen überschreiben
--overwrite-wprootnoWordPress-Root-Dateien überschreiben

Beispiel – Bestehende Datenbank beibehalten:

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

Beispiel – Auch WordPress-Core-Dateien überschreiben:

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

Filtern, was wiederhergestellt wird

Verwende dieselben --only-*– und --skip-*-Flags wie beim Extract-Befehl:

Nur Plugins und Themes wiederherstellen:

wpstaging restore --path=/var/www/html --only-plugins --only-themes backup.wpstg

Alles außer Uploads wiederherstellen:

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

Siehe Extract Backup Files für die vollständige Liste der Filter-Flags.

Unterbrochene Wiederherstellung fortsetzen

Wenn die Datenbankwiederherstellung unterbrochen wurde, kannst du von der extrahierten SQL-Datei aus fortfahren:

wpstaging restore --path=/var/www/html \
  --skip-extract \
  --db-file=/path/to/extracted/database.sql \
  backup.wpstg
FlagBeschreibung
--skip-extractExtraktion überspringen, wenn Dateien bereits vorhanden sind
--db-fileEine bestimmte SQL-Datei für die Datenbankwiederherstellung verwenden

Datenbank-Performance-Optionen

Optimiere die Leistung des Datenbankimports:

FlagStandardBeschreibung
--db-batch-size1000Anzahl der Zeilen pro INSERT-Anweisung
--db-insert-singlefalseEinzelzeilen-INSERT-Anweisungen verwenden
--db-timeout15sDatenbank-Verbindungs-Timeout
--db-innodb-strict-modeoffEnable InnoDB strict mode during restore

Beispiel – Langsamerer, aber kompatibler Import:

wpstaging restore --path=/var/www/html \
  --db-insert-single \
  --db-batch-size=100 \
  backup.wpstg

Wiederhergestellte Dateien überprüfen

Überprüfe die Dateiintegrität nach der Wiederherstellung:

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

Alle Restore-Flags

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)

Fehlerbehebung

Datenbankverbindung fehlgeschlagen

  • Überprüfe, ob die wp-config.php die korrekten Datenbank-Zugangsdaten enthält
  • Stelle sicher, dass der Datenbankserver läuft und erreichbar ist
  • Versuche, die Zugangsdaten explizit mit --db-*-Flags anzugeben
  • Stelle bei Remote-Datenbanken sicher, dass die Firewall Verbindungen zulässt

Zugriff verweigert

  • Stelle sicher, dass du Schreibrechte für das Zielverzeichnis hast
  • Unter Linux/macOS musst du möglicherweise als Webserver-Benutzer ausführen oder sudo verwenden

Erkennung der Website-URL fehlgeschlagen

Wenn die CLI die Website-URL nicht automatisch erkennen kann, gib sie manuell an:

wpstaging restore --path=/var/www/html --site-url=https://mysite.com backup.wpstg

Nächste Schritte

Updated on März 6, 2026