Przywracanie witryny WordPress z Backupu

Polecenie restore wykonuje kompletne przywrócenie witryny WordPress z Backupu WP Staging. Wyodrębnia pliki i importuje bazę danych w jednej operacji, co czyni je idealnym do migracji witryn lub odzyskiwania po awarii.

Co otrzymasz

Po przywróceniu będziesz mieć:

  • Kompletną instalację WordPress ze wszystkimi przywróconymi plikami
  • Zaimportowaną i skonfigurowaną bazę danych
  • Witrynę gotową do użycia w docelowej lokalizacji

Wymagania wstępne

Polecenie restore wymaga:

  • Istniejącej instalacji WordPress w ścieżce docelowej (z poprawnym wp-config.php)
  • Danych dostępowych do bazy danych (z wp-config.php lub podanych przez flagi)
  • Uprawnień do zapisu w katalogu docelowym

Wskazówka: aby skonfigurować świeże środowisko WordPress z użyciem Dockera, użyj zamiast tego wpstaging add --from=backup.wpstg. Zobacz Tworzenie lokalnej kopii witryny WordPress.

Podstawowe przywracanie

Przywróć witrynę WordPress do konkretnego katalogu:

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

Lub, jeśli jesteś już w głównym katalogu WordPress:

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

Przywracanie ze zdalnego adresu URL

Przywróć bezpośrednio ze zdalnego pliku Backupu:

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

CLI pobiera Backup, weryfikuje go i przywraca witrynę w jednej operacji.

Przywracanie na witrynę w Dockerze

W przypadku witryn zarządzanych przez środowisko Docker w WP Staging CLI możesz przywrócić bezpośrednio, używając nazwy hosta:

wpstaging restore site.local backup.wpstg

Lub z flagą --from:

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

Wymagania:

  • Witryna musi już istnieć (utworzona poleceniem wpstaging add site.local)
  • Dane dostępowe do bazy danych są automatycznie wykrywane z pliku .env witryny
  • Nie trzeba podawać --path ani flag bazy danych

Przywracanie z zewnętrzną bazą danych

Nadpisz ustawienia bazy danych z wp-config.php, aby połączyć się z innym serwerem bazy danych:

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

Opcje połączenia z bazą danych

Pełna kontrola nad ustawieniami połączenia z bazą danych:

FlagaOpis
--db-hostHost bazy danych (np. localhost, db.example.com)
--db-nameNazwa bazy danych
--db-userNazwa użytkownika bazy danych
--db-passwordHasło bazy danych
--db-socketŚcieżka do gniazda bazy danych
--db-charsetKodowanie znaków bazy danych (np. utf8mb4)
--db-collateSortowanie bazy danych
--db-prefixDocelowy prefiks tabel WordPress

Połączenie z bazą danych przez SSL/TLS

Dla bezpiecznych połączeń z bazą danych:

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
FlagaOpis
--db-ssl-ca-certŚcieżka do pliku certyfikatu CA
--db-ssl-certŚcieżka do pliku certyfikatu klienta
--db-ssl-keyŚcieżka do pliku klucza klienta
--db-ssl-modeTryb SSL (skip-verify/preferred)

Opcje nadpisywania

Kontroluj, co zostanie nadpisane podczas przywracania:

FlagaDomyślnieOpis
--overwritetakNadpisuje pliki w katalogu docelowym
--overwrite-dbtakNadpisuje tabele bazy danych
--overwrite-wprootnieNadpisuje pliki głównego katalogu WordPress

Przykład – zachowaj istniejącą bazę danych:

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

Przykład – nadpisz także pliki rdzenia WordPress:

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

Filtrowanie tego, co ma zostać przywrócone

Użyj tych samych flag --only-* i --skip-* co przy poleceniu extract:

Przywróć tylko pluginy i motywy:

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

Przywróć wszystko oprócz plików przesłanych:

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

Pełną listę flag filtrowania znajdziesz w artykule Wyodrębnianie plików Backupu.

Wznowienie przerwanego przywracania

Jeśli przywracanie bazy danych zostało przerwane, możesz je wznowić z wyodrębnionego pliku SQL:

wpstaging restore --path=/var/www/html \
  --skip-extract \
  --db-file=/path/to/extracted/database.sql \
  backup.wpstg
FlagaOpis
--skip-extractPomija wyodrębnianie, jeśli pliki już istnieją
--db-fileUżywa konkretnego pliku SQL do przywrócenia bazy danych

Opcje wydajności bazy danych

Dostrój wydajność importu bazy danych:

FlagaDomyślnieOpis
--db-batch-size1000Liczba wierszy w pojedynczej instrukcji INSERT
--db-insert-singlefalseUżywa pojedynczych instrukcji INSERT na wiersz
--db-timeout15sLimit czasu połączenia z bazą danych
--db-innodb-strict-modeoffWłącza tryb ścisły InnoDB podczas przywracania

Przykład – wolniejszy, ale bardziej zgodny import:

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

Weryfikacja przywróconych plików

Sprawdź spójność plików po przywróceniu:

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

Wszystkie flagi polecenia restore

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)

Rozwiązywanie problemów

Połączenie z bazą danych nie powiodło się

  • Sprawdź, czy plik wp-config.php zawiera poprawne dane dostępowe do bazy danych
  • Upewnij się, że serwer bazy danych działa i jest dostępny
  • Spróbuj podać dane dostępowe jawnie za pomocą flag --db-*
  • W przypadku zdalnych baz danych upewnij się, że firewall zezwala na połączenia

Brak uprawnień

  • Upewnij się, że masz uprawnienia do zapisu w katalogu docelowym
  • W Linuksie/macOS może być konieczne uruchomienie jako użytkownik serwera WWW lub użycie sudo

Nie udało się wykryć adresu URL witryny

Jeśli CLI nie może automatycznie wykryć adresu URL witryny, podaj go ręcznie:

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

Następne kroki

Updated on 23 maja, 2026

Rene Hermenau

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