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.wpstgOder, wenn du dich bereits im WordPress-Stammverzeichnis befindest:
cd /var/www/html
wpstaging restore backup.wpstgVon 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.wpstgDie 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.wpstgOder mit dem --from-Flag:
wpstaging restore site.local --from=backup.wpstg
wpstaging restore site.local --from=https://example.com/backups/backup.wpstgVoraussetzungen:
- Die Website muss bereits existieren (erstellt mit
wpstaging add site.local) - Datenbank-Zugangsdaten werden automatisch aus der .env-Datei der Website erkannt
- Kein
--pathoder 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.wpstgDatenbankverbindungsoptionen
Volle Kontrolle über die Datenbankverbindungseinstellungen:
| Flag | Beschreibung |
|---|---|
--db-host | Datenbank-Host (z. B. localhost, db.example.com) |
--db-name | Datenbankname |
--db-user | Datenbank-Benutzername |
--db-password | Datenbank-Passwort |
--db-socket | Datenbank-Socket-Pfad |
--db-charset | Database charset (e.g., utf8mb4) |
--db-collate | Database collation |
--db-prefix | Target 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
| Flag | Beschreibung |
|---|---|
--db-ssl-ca-cert | Pfad zur CA-Zertifikatsdatei |
--db-ssl-cert | Pfad zur Client-Zertifikatsdatei |
--db-ssl-key | Pfad zur Client-Schlüsseldatei |
--db-ssl-mode | SSL-Modus (skip-verify/preferred) |
Überschreiboptionen
Steuere, was während der Wiederherstellung überschrieben wird:
| Flag | Standard | Beschreibung |
|---|---|---|
--overwrite | yes | Dateien im Zielverzeichnis überschreiben |
--overwrite-db | yes | Datenbanktabellen überschreiben |
--overwrite-wproot | no | WordPress-Root-Dateien überschreiben |
Beispiel – Bestehende Datenbank beibehalten:
wpstaging restore --path=/var/www/html --overwrite-db=no backup.wpstgBeispiel – Auch WordPress-Core-Dateien überschreiben:
wpstaging restore --path=/var/www/html --overwrite-wproot=yes backup.wpstgFiltern, 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.wpstgAlles außer Uploads wiederherstellen:
wpstaging restore --path=/var/www/html --skip-uploads backup.wpstgSiehe 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| Flag | Beschreibung |
|---|---|
--skip-extract | Extraktion überspringen, wenn Dateien bereits vorhanden sind |
--db-file | Eine bestimmte SQL-Datei für die Datenbankwiederherstellung verwenden |
Datenbank-Performance-Optionen
Optimiere die Leistung des Datenbankimports:
| Flag | Standard | Beschreibung |
|---|---|---|
--db-batch-size | 1000 | Anzahl der Zeilen pro INSERT-Anweisung |
--db-insert-single | false | Einzelzeilen-INSERT-Anweisungen verwenden |
--db-timeout | 15s | Datenbank-Verbindungs-Timeout |
--db-innodb-strict-mode | off | Enable InnoDB strict mode during restore |
Beispiel – Langsamerer, aber kompatibler Import:
wpstaging restore --path=/var/www/html \
--db-insert-single \
--db-batch-size=100 \
backup.wpstgWiederhergestellte Dateien überprüfen
Überprüfe die Dateiintegrität nach der Wiederherstellung:
wpstaging restore --path=/var/www/html --verify backup.wpstgAlle 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.wpstgNächste Schritte
- Create a Local Copy of WordPress Site – Eine Docker-basierte lokale Umgebung einrichten
- Extract Backup Files – Für manuelle Extraktion ohne Datenbankimport
- Inspect Backup Files – Backup-Inhalte vor der Wiederherstellung anzeigen