Kopie zapasowe to podstawa bezpieczeństwa każdej strony WordPress. Nawet jeśli korzystasz z hostingu, który automatycznie tworzy backupy, warto mieć własne, niezależne zabezpieczenie — najlepiej takie, które nie zależy od jednej wtyczki ani jednego serwera.

Dlaczego backupy są ważne?

  • Ataki hakerskie - możliwość szybkiego przywrócenia strony
  • Błędy przy aktualizacji - wtyczki lub motywy mogą “zepsuć” stronę
  • Przypadkowe usunięcie - łatwo przez pomyłkę usunąć ważne treści
  • Awaria serwera - choć rzadkie, mogą się zdarzyć

Najważniejsza zasada: kopia musi opuścić serwer

Kopia zapasowa ma sens tylko wtedy, gdy przetrwa to, przed czym ma chronić. Backup leżący na tym samym serwerze co strona ginie razem z nią — przy włamaniu, awarii dysku albo zaszyfrowaniu konta przez ransomware tracisz jednym ruchem i witrynę, i jej kopię. Dlatego każda kopia powinna fizycznie opuścić serwer: trafić do zewnętrznej chmury (Google Drive, Amazon S3, Backblaze) albo na niezależny serwer plików.

Czy warto polegać na wtyczce do backupów?

Przez lata domyślną odpowiedzią był UpdraftPlus. Dziś jest to wybór, który częściej zawodzi, niż pomaga — zwłaszcza na stronie, którą faktycznie chcesz móc odtworzyć po awarii:

  • Domyślnie zapisuje kopie w wp-content — czyli na tym samym serwerze, często w katalogu dostępnym publicznie. Archiwum z całą bazą pod zgadywalnym adresem to gotowy wyciek.
  • Robi backup z wnętrza środowiska, które może już być zainfekowane — jeśli strona ma backdoora, wtyczka spokojnie spakuje go do kopii.
  • Pada na większych stronach — generowanie archiwum w PHP rozbija się o limity pamięci i czasu, dając ucięte kopie, które wyglądają na poprawne aż do pierwszej próby przywrócenia.
  • To kolejna wtyczka z dostępem do całej bazy i plików — czyli dodatkowa powierzchnia ataku.

Więcej o tym, dlaczego wtyczki backupowe bywają pułapką, napisałem w poradniku o zabezpieczaniu WordPressa. Jeśli z jakiegoś powodu musisz użyć wtyczki, ustaw ją tak, by wysyłała kopie wyłącznie do zewnętrznej chmury i nigdy nie zostawiała ich na serwerze. Pewniejsze są jednak metody opisane niżej.

Metody, na których można polegać

Zrzut bazy i plików z poziomu serwera

Najpewniejszy backup powstaje poza WordPressem — bezpośrednio na serwerze, zadaniem cron. Baza przez mysqldump, pliki przez tar, całość wypchnięta od razu poza hosting.

Dla VPS-a lub serwera dedykowanego wygodnym gotowcem jest automysqlbackup:

# Instalacja
apt-get install automysqlbackup

# Konfiguracja
nano /etc/default/automysqlbackup

Narzędzie automatycznie tworzy kopie:

  • dzienne (ostatnie 7 dni),
  • tygodniowe (ostatnie 5 tygodni),
  • miesięczne (nieograniczone).

Domyślnie lądują w /var/lib/automysqlbackup/ — pamiętaj, żeby synchronizować je dalej, poza serwer.

Wersjonowanie kodu w Git

Cały kod strony — rdzeń, motyw, wtyczki i pliki konfiguracyjne — warto trzymać w repozytorium Git (np. prywatnym na GitHubie). Zdalny remote to z natury kopia poza serwerem, a po ataku git diff w sekundę pokazuje każdy doklejony i podmieniony plik. Git wersjonuje jednak kod, nie dane — bazę i katalog wp-content/uploads nadal zabezpieczasz zrzutami z poprzedniego punktu. Szerzej opisałem to podejście w artykule o zabezpieczaniu WordPressa.

Automatyczne kopie hostingu (Installatron)

Jeśli masz w panelu Installatron (np. w DirectAdmin), możesz włączyć jego wbudowane backupy:

  1. Zaloguj się do panelu,
  2. przejdź do Installatron,
  3. wybierz instalację WordPress,
  4. kliknij „Backup” i ustaw harmonogram.

To wygodne, ale traktuj je jako uzupełnienie — kopie hostingu zwykle leżą na infrastrukturze tego samego dostawcy, więc zadbaj o ich pobranie poza serwer.

Dobre praktyki backupów

  1. Zasada 3-2-1: 3 kopie, 2 różne nośniki, 1 kopia off-site
  2. Testuj restore: Regularnie sprawdzaj, czy backupy faktycznie się przywracają
  3. Automatyzacja: Nie polegaj na ręcznym tworzeniu kopii
  4. Szyfrowanie: Szyfruj kopie zawierające dane osobowe

Podsumowanie

Regularnie twórz kopie zapasowe i przechowuj je poza serwerem strony — najlepiej automatycznie, co najmniej raz w tygodniu. Nie opieraj całej strategii na jednej wtyczce: pewniejsze są zrzuty z poziomu serwera i wersjonowanie kodu w Git. Pamiętaj, że pytanie nie brzmi “czy” stracisz dane, ale “kiedy”.