Wykonanie cyklicznych kopii zapasowych strony internetowej to standardowa procedura, ale jej znaczenie jest nie do przecenienia. Dlatego każdy użytkownik powinien traktować ją jako obowiązkową. Niestety, często jest zapominana.
Wielu użytkowników uważa, że to hostingodawcy powinni być odpowiedzialni za wykonywanie kopii zapasowych. Choć jest w tym ziarno prawdy, warto pamiętać, że kopie robione przez hostingodawców mają często długie odstępy czasu. Dlatego po przeczytaniu tego tekstu, zachęcam do zapoznania się z artykułami na temat przywracania backupu czy przenoszenia WordPressa.
W sytuacji awarii, dostęp do kopii może okazać się kosztowny pod względem czasu i nerwów. Posiadanie własnej kopii daje możliwość szybkiego cofnięcia zmian lub przeniesienia strony w inne miejsce.
Dla większości stron opartych na WordPressie kluczowe są folder wp-content oraz baza danych. Jeśli nie wprowadzałem w nich żadnych modyfikacji, nie ma potrzeby ich archiwizowania.
Kiedy warto wykonywać kopie zapasowe strony na WordPressie?
Najlepszym podejściem jest robienie tego cyklicznie, aby dysponować danymi z co najmniej 2-3 ostatnich miesięcy. Jeśli na stronie regularnie pojawiają się zmiany i generuje ona duży ruch, zalecam backup co tydzień. W ciągu trzech miesięcy dostarczy to 12 plików kopii zapasowej.
Takie podejście jest kluczowe, gdyż często pewne sytuacje wykrywane są z opóźnieniem. Jeżeli włamanie na stronę miało miejsce trzy tygodnie temu, a moja jedyna kopia jest sprzed tygodnia, muszę samodzielnie znaleźć i naprawić szkody wyrządzone przez włamywacza.
Dzięki szerokiemu zakresowi danych mogę przywrócić konkretną wersję strony lub porównać różne wersje za pomocą programów, takich jak Meld.
Dlaczego wykonywanie kopii zapasowej w WordPressie jest tak ważne?
Ponownie podkreślam: backup to podstawa. Wynika to z kilku prostych powodów:
- Posiadasz swój własny backup, do którego mam nieograniczony dostęp.
- Nie jesteś uzależniony od hostingu, który może archiwizować dane rzadziej, niż bym chciał.
- Możesz w dowolnym momencie przywrócić kopię.
- Backup umożliwi Tobie stworzenie serwera zapasowego lub testowego.
- W przypadku włamania, możesz szybko przywrócić poprzednią wersję strony lub porównać dwie wersje, aby zidentyfikować miejsca zmienione przez włamywacza.
Dzięki kopii zapasowej masz kontrolę nad swoją stroną.
Zalecam wykonanie ręcznego backupu w sytuacjach, gdy:
- dokonujesz zmian na skórce WordPressa lub wprowadzasz modyfikacje programistyczne,
- instalujesz nowe wtyczki lub ingerujesz w pliki na serwerze,
- udzielasz dostępu do swojej strony firmom zajmującym się pozycjonowaniem czy webmasterom wprowadzającym zmiany,
- wprowadzasz modyfikacje na serwerze dedykowanym czy VPS,
- planujesz zaktualizować platformę (na przykład z bardzo starej wersji WordPressa do nowszej),
- zamierzasz przenieść stronę na inny hosting.
Cztery metody tworzenia kopii na WordPress
Kopia za pomocą panelu hostingowego / helpdesku hostingu
Niektórzy polscy dostawcy usług hostingowych oferują możliwość stworzenia i pobrania kopii zapasowej jednym kliknięciem. Aby to zrobić, wystarczy zalogować się do panelu hostingowego i wybrać odpowiednią opcję. Jednak w niektórych przypadkach możliwe jest jedynie pobranie kopii bazy danych. Pliki musisz pobrać samodzielnie, korzystając z FTP.
Możesz także poprosić o backup poprzez helpdesk Twojego dostawcy hostingu. Zwykle nie ma problemu z dostarczeniem takiej kopii.
Kopia za pomocą wtyczki
Aby to zrobić, musisz zainstalować i skonfigurować wtyczkę dla WordPressa – BackWPup. Umożliwia ona tworzenie regularnych kopii zapasowych.
Zalecam ustawienie cyklu tworzenia kopii raz w tygodniu oraz skonfigurowanie opcji wysyłania kopii do DropBox. Dzięki temu Twoje pliki będą przechowywane w darmowej, bezpiecznej chmurze (konto DropBox oferuje 2 GB wolnego miejsca).
Jeśli korzystasz z wtyczki na hostingu z limitem transferu, zalecam wykonywanie backupu w godzinach o niższym ruchu, np. w nocy z niedzieli na poniedziałek.
Wymagania wtyczki BackWPup:
- Minimalna wersja PHP: 5.3
- Minimalna wersja WordPressa: 3.9
- Aby skorzystać z pełnej funkcjonalności wtyczki, potrzebujesz następujących modułów: gz, bz2, ziparchive, curl, ftp, mysqli, mail.
Poradnik odnośnie skonfigurowania wtyczki
Pobieramy wtyczkę Backwpup:
Opis zdjęcia: Wybieramy zakładkę „wtyczki – dodaj nową” – jeżeli nie posiadamy takiej zakładki, to znaczy, że nasza strona posiada ograniczone uprawnienia. Należy wtedy uzyskać dane administracyjne, ewentualnie samemu to zmienić w bazie danych (więcej informacji tutaj).
Opis zdjęcia:
- Wpisujemy w pole wyszukiwarki “backwpup”.
- Po wyszukaniu wtyczki klikamy na przycisk “zainstaluj teraz”.
Opis zdjęcia: Gdy WordPress pobierze pliki wtyczki, instalujemy ją.
Opis zdjęcia: W zakładce po lewej stronie powinno pojawić się nowe pole “BackWPup”, w którym wybieramy „Add New Jobs”.
Opis zdjęcia:
- Wpisujemy nazwę naszego zadania backup.
- Wybieramy rzeczy, które ma eksportować wtyczka.
- Nazywamy plik, który ma generować wtyczka (plus data).
Opis zdjęcia:
- W dalszej kolejności wybieramy możliwość kompresji. W zależności od tego, jakie formaty archiwum posiada serwer, opcje będę zaznaczone (w moim przypadku brakuje modułu bzopen, dlatego nie można wybrać Tar BZIP2).
- Decydujemy, w które miejsce backup ma zostać wysłany.
Mamy do wyboru: folder na tym samym serwerze, wysyłkę mailem, wysyłkę na inny serwer FTP, wysyłkę do Dropbox i inne.
Zalecam „wysyłkę na Dropbox”, ponieważ jest to chmura. Dzięki temu, w razie skasowania danych na serwerze, dysponujemy “stabilnym” backupem.
Folder jest zalecany w przypadku ograniczonego transferu, ale pamiętajmy o tym, że gdy coś stanie się na serwerze, to taki backup jest bezużyteczny.
Email odpada w przypadku backupu plików, ale do wykonywania zrzutów bazy danych (gdzie mamy wszystkie treści WordPressa) jest to idealne rozwiązanie.
- Podajemy adres e-mail, na który zostaną wysłane informacje o backupie – takie logi wysyłają się jedynie wtedy, gdy wtyczka napotka błędy (np. pojemność Dropboxa zostanie przekroczona).
- Na dole mamy możliwość napisania, z jakiego maila ma zostać wysłana informacja – zostawiamy tak, jak jest.
Opis zdjęcia:
- Wybieramy opcję „with WordPress Cron”.
- Zostawiamy opcje basic – advanced umożliwia ustawienie bardziej precyzyjnych danych dotyczących crona (np. Backup co 2 dni, co 10 dni itp).
- Wybieramy częstotliwość realizowania automatycznych kopii zapasowych. Wykonywanie backupu obciąża serwer, dlatego najlepiej nadają się do tego godziny nocne, kiedy to jest mniejsze obciążenie na stronie i nie ma dużego zużycia serwera. Zapisujemy przyciskiem „Save Changes”.
Opis zdjęcia:
- Wybieramy tabele do backupu – jeżeli czytaliście sekcje o ręcznym backupie, to wiecie, dlaczego musimy wybrać te, a nie inne tabele. W przypadku wtyczki, sama wybiera ona tabelę WordPressa (na podstawie jej przedrostka).
- Zaznaczamy kompresje pliku, a w polu wyżej wpisujemy nazwę bazy danych.
Opis zdjęcia:
- Wybieramy foldery, które mają zostać uwzględnione przez wtyczkę w backupie. Jeżeli posiadamy dodatkowe foldery na serwerze ftp, jak np. stare zdjęcia i pliki czy też folder ze starą stroną, nie musimy wykonywać ich kopii zapasowych. Wiadomo też, że folder wp-admin, wp-includes nie są potrzebne, ponieważ można je zawsze pobrać wraz z instalacją WordPressa. No chyba że były dokonywane w nich jakieś zmiany – wtedy backup wydaje się konieczny.
Opis zdjęcia:
- Wpisujemy nazwę pliku, do którego wtyczka wygeneruje listę pluginów zainstalowanych w WordPressie. Decydujemy także o tym, czy taki plik ma zostać skompresowany.
Pragnę tutaj zwrócić uwagę na to, że w zależności od opcji zaznaczonych w zdjęciu z punktem 2, ta opcja może się nie wyświetlić (mowa o sytuacji, gdy odznaczyliśmy opcje Installed Plugin list).
Opis zdjęcia
- Sprawdzamy tabele, które są tylko WordPressowe, opcji „repair” nie zaznaczamy.
Opis zdjęcia:
- W przypadku opcji Dropbox, musimy stworzyć konto na dropbox.com (ufam że z założeniem konta sobie poradzicie).
- Następną opcją jest wygenerowanie kodów dostępu, zalogujcie się do Dropboxa i kliknijcie wybrany przycisk – chodzi o to, jakie uprawnienia ma mieć wtyczka.
- Decydujemy, jak ma się nazywać folder i co jaki czas wtyczka ma kasować stare pliki (w dalszej części artykułu dowiecie się, jaką wielkość ma twoja strona (dzięki temu można określić ilość backupów). Zachęcam trzymać co najmniej 8-12 plików (2 miesiące).
Opis zdjęcia:
Po kliknięciu w pkt 16, otrzymamy następujący monit – klikamy zezwól.
Opis zdjęcia:
- Numer punktu się powtarza – wygenerowany kod należy umieścić w polu 17 ze zdjęcia wyżej.
Opis zdjęcia:
- Po kliknięcie opcji, powinien wyświetlić się zielony tekst “authenticated!”. Oznacza to, że wtyczka BackWPup została skonfigurowana i jesteśmy gotowi do wykonania testowego backupu. Klikamy “Run Now”.
Backup zaczyna się generować, a na pasku widać kolejne działania wykonywane przez wtyczkę. Klikając “display log”, wyświetlą się nam konkretne informacje – między innymi dotyczące tego, ile zajmuje nasz spakowany plik z backupem.
Dzięki temu możemy określić liczbę maksymalnych plików backupowych na Dropbox (w moim przypadku 144 MB). Backupy przechowuję z 3 miesięcy wstecz.
Opis zdjęcia:
Po wykonanym działaniu, logujemy się na Dropboxa i widzimy nasz plik z backupem.
Dodatkowo wtyczka umożliwia podglądanie backupu w opcji “Manage Backup Archives”, gdzie jednym kliknięciem możemy pobrać backup z określonego dnia.
Pełna wersja czy darmowa wtyczki?
Pełna wersja pozwala nam wybrać większą liczbę stron do backupu: Google Drive, Amazon Glacier etc. oraz pomoc suportu. Pełna listę różnic między wersją darmową a płatną znajdziecie tutaj:
Kopia ręczna
Jeśli jesteś na początku swojej przygody z WordPressem, zalecam korzystanie z wtyczki do tworzenia kopii zapasowych. Wtyczka ta wykonuje wszystkie niezbędne czynności automatycznie. W przypadku ręcznej pracy z plikami na serwerze łatwo można popełnić błąd, na przykład przeciągając folder w programie FTP.
- Kopia ręczna, jak sama nazwa wskazuje, polega na wykonaniu następujących czynności:
- Zalogowanie się na serwer FTP poprzez FileZille, WinSCP.
- Klikając w menadżer stron, otworzymy nowe okienko z listingiem stron, dodajemy nowy adres FTP strony.
- Serwer – podajemy adres serwera, ewentualnie nazwę strony (bez http i www).
- Protokół – w zależności od pola znajdującego się w panelu hostingowym, ustawiamy SFTP lub FTP.
- Typ logowania: normalne.
- Login i hasło znajdują się w panelu hostingowym (zazwyczaj zakładka konta FTP / FTP).
- Wybranie folderu z WordPressem i pobranie (w FileZilli ważne jest, by ustawić opcje pokazaną w zdjęciu powyżej – “wymuś pokazywanie ukrytych plików”, inaczej plik konfiguracyjny serwera (.htaccess) nie będzie widoczny.
- Ważnym elementem jest sprawdzenie, czy stronę kopiujemy z prawidłowego serwera FTP – często możemy mieć dwa hostingi, więc lepiej się nie pomylić.
Jak sprawdzić czy jesteśmy na prawidłowym serwerze ftp?
- Należy wejść w wiersz poleceń, terminal i wywołać polecenie ping <nazwadomeny>. Wskaże nam to informacje o adresie IP – jeżeli identyczny jest w zakładce „host”, to jesteśmy na prawidłowym FTP.
- Komenda ping nie zawsze zwraca prawidłowe IP (np. gdy jesteśmy w Cloudflare – które zwraca IP chmury a nie naszego serwera). W takim wypadku należy wgrać dowolny plik tekstowy i sprawdzić, czy wyświetla się on po wpisaniu w wyszukiwarce adresu – nazwastronywordpress.pl/nazwapliku.txt.
- Wtyczka może przydać się do sprawdzenia wydajności hostingów – można porównać wtedy czas kompresji, wysyłki do Dropbox, a to pozwala sprawdzić, jaki procent obciążenia serwera przysługuje do naszej usługi hostingowej.
Kopia bazy danych poprzez phpmyadmin
- Zalogowanie się do phpmyadmin bazy danych (w przypadku home.pl -> www.nazwadomeny.pl/phpmyadmin i wyeksportowanie bazy danych).
Opis zdjęcia: Panel logowania PhpMyAdmin
Dane do bazy danych możemy pobrać z:
- wordpressa (plik wp-config.php),
Opis zdjęcia – elementy wp-config, interesują nas treści DB_USER oraz DB_PASSWORD.
- panelu hostingowego w zakładce bazy danych.
Jeżeli nie możecie się zalogować do phpmyadmin korzystając z loginu i hasła z wp-config.php, to:
- logujecie się na niewłaściwą bazę danych,
- zalogowaliście się na hosting backupowy, zastępczy (korzystając z innej bazy),
- zablokowana jest możliwość logowania z zewnątrz / danego IP/.
Opis zdjęcia:
- Po zalogowaniu się, wybieramy bazę z naszym WordPressem określoną nazwą DB_NAME z pliku wp-config.php. W przypadku paneli hostingowych, po zalogowaniu się na takie dane, powinniście mieć tylko dostęp do jednej bazy z WordPressem, co jest logiczne w przypadku zasad bezpieczeństwa.
- Przechodzimy do strony z Eksportem.
Opis zdjęcia:
- Na stronie z eksportem klikamy “Dostosuj”.
- Wybieramy tabelę z naszym WordPressem (jeżeli pole jest puste, zostawiamy wszystko zaznaczone, jeżeli w pliku wp-config posiadamy wypełniony db_collate (przedrostek), to zaznaczamy tabele tylko z tym przedrostkiem. Dzięki temu wyeksportujemy z bazy danych wyłącznie tabele dotyczące naszego WordPressa.
- Zaznaczamy opcję wyeksportowania do pliku, warto też ustawić ustawienie kompresji. Celem zapisu do pliku jest pobranie pliku .sql z wszystkimi tabelami (wiele hostingów nie ma domyślnie tej opcji, w wyniku czego phpMyAdmin zrzuca cały kod do okienka na stronie, a przy dużych bazach danych powoduje to zacięcie strony / przeglądarki).
- Poniżej na tej samej podstronie znajduje sie przycisk eksport, który wygeneruje nam plik.
Opis zdjęcia: przykład wygenerowanego pliku .sql z narzędzia phpMyAdmin
Kopia na serwerze dedykowanym
Posiadając serwer dedykowany lub VPS (Virtual Private Server), warto stworzyć skrypt powłoki bash. Następnie, dodając go do cronu, możemy zaprogramować jego cykliczne wykonywanie.
Ten skrypt pełni następujące funkcje:
- Kompresuje wybrany folder z WordPressem, z możliwością dodania hasła do archiwum,
- Tworzy kopię wybranej bazy danych lub całej bazy,
- W zależności od preferencji, kopia może być:
- Zapisywana w określonym folderze,
- Wysyłana do Dropboxa,
- Przesyłana na inny serwer za pomocą ssh.
Jego działanie jest zbliżone do tego, co oferują wtyczki. Rekomenduję korzystanie z tego skryptu głównie dla stron opartych na innych systemach zarządzania treścią, gdzie nie ma dostępu do tak funkcjonalnych wtyczek.
Skrypt jest bardziej zaawansowany, dlatego wspominam o nim tylko pobieżnie. Szczegółowe informacje na temat skryptów bash znajdziesz w moim dedykowanym artykule.
Walidacja kopii zapasowej
Nie zapominaj o weryfikacji prawidłowości utworzonych kopii zapasowych. Nie chodzi o to, aby analizować każdy tygodniowy plik zip. Po ustawieniu wtyczki lub skryptu, upewnij się, że dane są kompletne i przywróć je na próbną stronę, na przykład na lokalnym serwerze.
Osobiście, przenosząc dane między serwerami, zawsze korzystam z sumy kontrolnej plików. Po pobraniu kopii za pomocą wtyczki, tworzę lokalną wersję strony bazując na danych z backupu. Jeśli wszystko działa poprawnie, wiem, że kopia jest w porządku.
Podsumowanie
Kopie zapasowe strony są niezbędnym elementem dbałości o bezpieczeństwo i ciągłość działania Twojego serwisu. Bez względu na to, czy posiadasz bloga, sklep internetowy, czy korporacyjną stronę – regularne tworzenie kopii zapasowych pozwala chronić cenne dane przed nieprzewidzianymi awariami, błędami czy atakami hakerskimi.
Oto kluczowe punkty, które warto zapamiętać:
- Regularność: Wykonuj kopie zapasowe cyklicznie, dopasowując częstotliwość do indywidualnych potrzeb i dynamiki zmian na stronie.
- Dostępność: Przechowuj kopie w bezpiecznym miejscu, najlepiej w kilku różnych lokalizacjach.
- Walidacja: Regularnie weryfikuj integralność kopii zapasowych, przywracając je na testowej wersji strony.
- Automatyzacja: Wykorzystaj narzędzia, takie jak wtyczki lub skrypty, aby proces tworzenia kopii był jak najmniej uciążliwy i nie wymagał stałej uwagi.
Potrzebujesz pomocy z kopiami zapasowymi?
Jeśli nie masz pewności, jak prawidłowo zabezpieczyć swoją stronę, chętnie pomogę. Świadczę usługi związane z tworzeniem kopii zapasowych stron opartych na WordPressie, a także przywracaniem danych w razie potrzeby. Dzięki mojemu doświadczeniu Twoja strona będzie w bezpiecznych rękach. Skontaktuj się ze mną, a wspólnie ustalimy najlepszy plan działania dla Twojego serwisu.