Automatyczna kopia zapasowa witryny

automatyczna_kopia_zapasowa_witryny_01

Po co tworzyć kopię zapasową witryny?  Wystarczy, że spróbujesz wyobrazić sobie kilka sytuacji, takich jak awaria serwera, czy atak hakerski. Jeżeli prowadzisz blog, to wyobraź sobie sytuację, kiedy tracisz wszystkie swoje wpisy. A co, jeżeli prowadzisz sklep internetowy i z dnia na dzień tracisz dane wszystkich klientów i informacje o wszystkich transakcjach w Twoim sklepie? Zastanów się i odpowiedz sobie na kilka pytań:

  • Co zrobisz, kiedy padnie serwer?
  • Co zrobisz, kiedy Ty lub inny administrator przypadkowo coś usunie?
  • Co zrobisz, kiedy Twój serwis zostanie zainfekowany?
  • Co się stanie, jeśli podczas aktualizacji lub instalacji jakiegoś rozszerzenia cały system się sypnie?

Dzięki kopii zapasowej możesz szybko odtworzyć witrynę lub przenieść ją na inny serwer. Dlatego nie pozwól, aby doszło do sytuacji, w której okaże się, że nie masz bieżącej kopii zapasowej witryny!​

Ludzie dzielą się na tych, co wykonują kopie zapasowe i na tych, co jeszcze nie stracili danych.

Michał Trzepizur - wiceprezes Fundacji PCJ Otwarte Źródła

Jeżeli chcesz mieć komfort psychiczny i poczucie pewności, że w razie sytuacji awaryjnej możesz przywrócić swoją witrynę, koniecznie regularnie twórz kopie zapasowe!

Pełna kopia zapasowa witryny opartej na CMS Joomla! musi zawierać:

  • kopię całej struktury plików i folderów witryny; 
  • kopię bazy danych witryny;

Istnieje kilka technik tworzenia kopii zapasowych oraz narzędzi, dzięki którym można je wykonać. Moim zdaniem, każdy szanujący się administrator powinien znać najbardziej podstawową metodę polegającą na tzw. ręcznym utworzeniu kopii plików witryny oraz bazy danych. Bez względu na to, jakiej metody używasz do utworzenia kopii witryny musisz pamiętać o kilku ważnych kwestiach:

  • kopia zapasowa musi być aktualna i szybko dostępna;
  • kopia zapasowa musi odzwierciedlać strukturę katalogów, plików i bazy danych;
  • kopia zapasowa musi zadziałać, kiedy trzeba będzie przywrócić dane;
  • stosuj ustandaryzowane nazewnictwo swoich kopii zapasowych;
  • przećwicz kilka razy przywracanie witryny, aby się upewnić, że potrafisz to robić;
  • przechowuj kopie zapasowe obejmujące większy okres czasowy. Kiedy odkryjesz, że Twoja witryna została zaatakowana, musisz mieć możliwość przywrócenia jej stanu przed atakiem;
  • odrzuć myśl, że Twoja witryna jest mało ważna i nie zostanie nigdy zaatakowana ;-)

Kopia zapasowa tworzona przez hosting

Niektórzy twierdzą, że tworzenie kopii zapasowych zasobów umieszczonych na zdalnym serwerze należy do firmy hostingowej. To prawda, że praktycznie każda firma oferująca swoje usługi hostingowe, w ramach standardowych usług oferuje także tworzenie kopii zapasowych. Musisz mieć jednak świadomość, że bardzo często użytkownik nie ma do nich dostępu, a odtwarzanie kopii odbywa się na wyraźną prośbę użytkownika. 

Na przykład w Smarthost, kopie wykonywane są co dziennie i można samodzielnie nimi zarządzać. Dostęp do kopii masz z 7 ostatnich dni!

Zarządzanie kopiami zapasowymi w Smarthost 

Tworzenie i zarządzanie kopiami zapasowymi w Smarthost oparte jest na aplikacji JetBackup. Twórcy tej aplikacji stosują bezpieczne metody kodowania i regularnie kontrolują kod oprogramowania przez zewnętrznych dostawców zabezpieczeń. 

Dzięki wdrożeniu JetBackup, w Smarthost masz dostęp do kopii zapasowych tworzonych dla zasobów umieszczonych w Twoim koncie hostingowym. Możesz nimi zarządzać samodzielnie bez konieczności kontaktu z administratorami firmy hostingowej. Dzięki temu możesz dosłownie w kilka sekund przywrócić pliki witryny oraz bazę danych. Możesz także szybko przywrócić konta e-mail.

Jak już wcześniej napisałem, w Smarthost masz dostęp do kopii wykonanych w ciągu 7 ostatnich dni. 

Zarządzanie kopiami zapasowymi tworzonymi przez hosting odbywa się z poziomu CPanelu. Adres cPanelu dla Twojego konta zostały wysłane do Ciebie po aktywacji konta hostingowego na podany przez Ciebie adres e-mail. Generalnie wygląda to tak, że do każdego konta hostingowego tworzona jest tzw. domena techniczna składająca się z nazwy twojego konta hostingowego oraz domeny smarthost.pl: twoja_nazwa_konta.smarthost.pl. Aby zalogować się do cPanelu wystarczy wpisać w przeglądarce adres w postaci:
twoja_nazwa_konta.smarthost.pl/cpanel lub cpanel.twoja_nazwa_konta.smarthost.pl

Zaloguj się do cPanelu i zapoznaj się z zawartością sekcji JETBACKUP. Do dyspozycji masz 5 odnośników.

Lista kopii zapasowych plików i folderów znajdujących się na Twoim koncie 

Lista kopii zapasowych baz danych.

Lista kopii zapasowych kont e-mail.

Lista operacji zleconych do odtworzenia. 

Adres e-mail powiadomień - to adres na który będziesz otrzymywać powiadomienia dotyczące postępu operacji zleconych za pomocą aplikacji JetBackup.

Przywracanie witryny

​Przywrócenie witryny za pomocą aplikacji JetBackup dostępnej w cPanelu Smarthost polega na przywróceniu struktury plików i folderów witryny oraz bazy danych witryny.

Przywracanie struktury plików witryny 

Kliknij odnośnik File Backups, a następnie obok wybranej kopii kliknij odnośnik File Manager

​Najczęściej pliki witryn umieszczane są w folderze o nazwie public_html. Aby przywrócić cały ten folder, to kliknij checkbox obok jego nazwy, a następnie kliknij przycisk Restore Selected Files.

W oknie modalnym potwierdź chęć przywrócenia kopii zapasowej wybranego folderu oraz fakt, że dotychczasowe dane zostaną usunięte i zastąpione tymi z kopii zapasowej. W polu Notification Email, możesz także wpisać adres e-mail na który zostaną wysłane informacje dotyczące postępu procesu przywracania. Na koniec kliknij przycisk Restore, aby rozpocząć proces odtwarzania plików.

Przywracanie bazy danych witryny 

Kliknij odnośnik Database Backups, a następnie obok wybranej kopii kliknij odnośnik Restore.  

W oknie modalnym potwierdź chęć przywrócenia kopii zapasowej wybranej bazy danych oraz fakt, że dotychczasowa baza zostanie usunięta i zastąpiona z kopii zapasowej. W polu Notification Email, możesz także wpisać adres e-mail na który zostaną wysłane informacje dotyczące postępu procesu przywracania bazy danych. Na koniec kliknij przycisk Restore, aby rozpocząć proces odtwarzania bazy danych.

Sprawdź kolejkę odtwarzania 

Aby sprawdzić postęp oraz historię operacji zleconych za pomocą JetBack, kliknij odnośnik Queue.

Kopia zapasowa tworzona za pomocą Akeeba Backup

Kopie tworzone przez firmy hostingowe są przechowywane na ich serwerach, co może stanowić potencjalne niebezpieczeństwo. Dlaczego? Poszukaj w sieci informacji na temat ataku hakerskiego na serwery 2be.pl należącego do Grupy Adweb. Kiedy na początku 2016 r. zostały zaatakowane serwery, ok. 1500 klientów straciło swoje witryny, pocztę e-mail i wszystkie dane przechowywane na hostingu! Wyobraź sobie, że nie masz własnej kopii zapasowej witryny i przez dwa tygodnie Twoja witryna nie jest dostępna w internecie. Taka sytuacja może spowodować upadek nie tylko firmy hostingowej, ale także Twojego biznesu! 

Dlatego musisz zadbać o to, aby kopię zapasową witryny mieć na własnym nośniku. Możesz oczywiście pobrać pliki witryny oraz wykonać kopię bazy danych, ale ręczne wykonywanie tych czynności ​jest trochę niewygodne i czasochłonne. Zwłaszcza wówczas, kiedy zarządzasz wieloma witrynami. 

Aby zautomatyzować proces tworzenia regularnych kopii zapasowych witryny potrzebne będzie dodatkowe rozszerzenie. Akeeba Backup to niezwykle przydatne narzędzie, którego twórcą jest grek, Nicholas K. Dionysopoulos. Za jego pomocą możesz w kilka minut wykonać pełną kopię zapasową witryny i zapisać ją w jednym pliku. Tak wykonaną kopię możesz odtworzyć zarówno w środowisku lokalnym, jak i na serwerze zdalnym.

Rozszerzenie Akeeba Backup dostępne jest w dwóch wersjach: Akeeba Backup Core i Akeeba Backup Professional. Pierwsza to bezpłatna podstawowa wersja, która zawiera wszystkie opcje niezbędne do utworzenia kopii zapasowych witryny. Za jej pomocą możliwa jest także automatyzacja tworzenia kopii zapasowych. Druga wersja, której roczny koszt subskrypcji wynosi 61,50 €, oprócz opcji, które znajdują się w wersji podstawowej, zawiera także sporo dodatkowych. Wersja płatna wyposażona jest na przykład w więcej opcji umożliwiających tworzenie automatycznych kopii zapasowych oraz zapisywanie ich w innych lokalizacjach niż serwer konta hostingowego. W dalszej części pokaże Ci, jak utworzyć automatyczne kopie zapasowe za pomocą Akeeba Backup Professional​.

Krok 1. Przygotuj miejsce na serwerze do przechowywania kopii zapasowych

Za pomocą Menadżera plików lub programu klienta FTP (np. FileZilla) utwórz katalog w którym będą przechowywane kopie zapasowe Twojej witryny. Pokażę krok po kroku, jak to zrobić a pomocą menadżera plików dostępnego w CPanelu konta hostingowego. 

Zaloguj się do cPanelu Twojego konta hostingowego i w sekcji PLIKI kliknij odnośnik Menadżer plików. W oknie Menadżera plików kliknij w menu pozycję +Folder, a następnie w oknie modalnym w polu Nowa nazwa folderu wpisz nazwę folderu, np: kopie. Kliknij przycisk Create New Folder, aby utworzyć folder.

Zakładam, że mechanizm wykonujący automatyczne kopie zapasowe będzie wykonywał dwa rodzaje kopii:

  • kopia bazy danych - codziennie;
  • pełna kopia witryny (pliki + baza danych) - raz w tygodniu;

W związku z tym, w katalogu kopie, utworzę jeszcze dwa katalogi:

  • baza, w którym codziennie będą zapisywane kopie bazy danych;
  • full, w którym raz w tygodniu będą zapisywane pełne kopie zapasowe witryny;

 Krok 2. Pobierz i zainstaluj Akeeba Backup

Pobierz najnowszą wersję rozszerzenia Akeeba Backup Professional i zapisz plik w dowolnej lokalizacji na swoim komputerze.

Zaloguj się do panelu administracyjnego swojej witryny, a następnie korzystając z instalatora Joomla! (menu Rozszerzenia / Instalacje), zainstaluj rozszerzenie Akeeba Backup. 

Jeżeli chcesz posługiwać się polskojęzycznym interfejsem rozszerzenia, to możesz pobrać pliki językowe korzystając ze strony Akeeba Backup Language Files. W otwartej stronie z plikami językowymi, kliknij odnośnik Download dla języka polskiego, następnie zapisz plik (backup-pl-PL.zip) w dowolnej lokalizacji i zainstaluj korzystając z instalatora Joomla!

Po zakończeniu instalacji, z menu Komponenty kliknij pozycję Akeeba Backup, a następnie w okienku modalnym kliknij przycisk Kreator konfiguracji. Okienko to pojawia się tylko raz, zaraz po instalacji komponentu.

Kreator konfiguracji najpierw przeprowadzi kilka testów serwera, na którym umieszczona jest witryna, a następnie określi optymalne ustawienia kopii zapasowej Twojej witryny.

Po pomyślnym zakończeniu racy kreatora konfiguracji, zobaczysz ekran informujący o pomyślnym zakończeniu działania. Kliknij przycisk Pulpit, aby przeprowadzić kolejne czynności konfiguracyjne.

Krok 3. Konfiguracja profili komponentu Akeeba Backup 

​W kroku 1 założyłem, że chcę, aby mój mechanizm tworzenia automatycznych kopii zapasowych składał się z co dziennie wykonywanych kopii zapasowych bazy danych, oraz raz w tygodniu wykonywanych pełnych kopii zapasowych witryny. Dlatego w komponencie Akeeba Backup trzeba utworzyć dwa różne profile. Po instalacji komponentu masz do dyspozycji profil domyślny o nazwie Default Backup Profile. Zmienimy jego nazwę oraz skonfigurujemy w taki sposób, aby korzystając ze zdefiniowanych w nim ustawień tworzona była pełna kopia zapasowa, która zostanie zapisana w utworzonym w kroku 1 folderze: full (/kopie/full).

Na pulpicie komponentu Akeeba Backup kliknij przycisk Profile.

Pełna kopia witryny 

W oknie Akeeba Backup: Profile, kliknij przycisk Konfiguruj, aby dokonać dalszych modyfikacji profilu kopii zapasowej. Zmienimy nazwę profilu, rodzaj wykonywanej kopii, miejsce przechowywania oraz ilość przechowywanych kopii.

W polu: Opis profilu wpisz np.: Pełna kopia witryny, a następnie w polu Katalog wyjściowy kliknij przycisk z ikonką folderu. 

W oknie modalnym wpisz ścieżkę dostępu do katalogu, w którym chcesz, aby zapisywane były pełne kopie witryny, w moim przykładzie to: /kopie/full. Kliknij przycisk Użyj, aby zmiany zostały wprowadzone i aby wrócić do okna konfiguracji profilu.

W polu Typ kopii zapasowej sprawdź, czy wybrana jest pozycja: Pełna kopia zapasowa. W sekcji Zarządzanie przydziałami w polu Maksymalny wiek kopii zapasowej wybierz z listy ilość dni przez jakie mają być przechowywane kopie.

W polu Licznik przydziału zdefiniuj liczbę kopii zapasowych, jakie mają być przechowywane na serwerze. 

​Zapisz wprowadzone zmiany, a następnie utwórz nowy profil. Możesz to zrobić klikając przycisk Zapisz i nowy.

Kopia bazy danych witryny 

To będzie profil, za pomocą którego tworzona będzie codzienna kopia zapasowa bazy danych. W polu Opis profilu wpisz na przykład: Kopia bazy danych, w polu Katalog wyjściowy wpisz ścieżkę dostępu do katalogu, w którym chcesz, aby zapisywane były kopie bazy danych witryny. W moim przykładzie to: /kopie/baza. W polu Typ kopii zapasowej wybierz z listy pozycję: Tylko kopia bazy danych witryny (plik SQL). W sekcji Zarządzanie przydziałami w polu Maksymalny wiek kopii zapasowej wybierz z listy ilość dni przez jakie mają być przechowywane kopie, natomiast w polu Licznik przydziału zdefiniuj liczbę kopii zapasowych, jakie mają być przechowywane na serwerze. Kliknij przycisk Zapisz i zamknij, aby zapisać wprowadzone zmiany.

Krok 4. Tworzenie skryptów automatyzujących wykonywanie kopii zapasowych 

Na pulpicie komponentu Akeeba Backup, w sekcji Operacje zaawansowane kliknij przycisk Harmonogram kopii automatycznych.

W oknie Akeeba Backup: Harmonogram kopii automatycznych, skopiuj wpis umieszczony w polu Użyj poniższej komendy w interfejsie CRON swojego serwera

Zaloguj się do cPanelu swojego konta hostingowego, a następnie w sekcji ZAAWANSOWANE kliknij odnośnik Zadania cron.

Harmonogram pełnej kopii zapasowej witryny 

Najpierw zdefiniujemy harmonogram tworzenia automatycznych, pełnych kopii zapasowych witryny. W sekcji Dodaj nowe zadanie cron w polu Ustawienia wspólne wybierz z listy pozycję: Raz na tydzień(0 0 * * 0). Pozostałe pola możesz pozostawić bez zmian, chyba, że chcesz zdefiniować własną godzinę i minutę (pole: Minuta i pole Godzinaoraz dzień tygodnia, w którym ma się wykonać pełna kopia zapasowa witryny (pole Dzień roboczy).

W polu Polecenie wklej wpis skopiowany z komponentu Akeeba Backup. Na koniec zastąp wpis: /path/to/php ścieżką właściwą dla Twojego serwera. Odpowiednią informację znajdziesz w oknie Zadania cron. W przypadku Smarthost właściwa ścieżka, to: /usr/local/bin/php

Kliknij przycisk Dodaj nowe zadanie cron, aby zakończyć tworzenie harmonogramu wykonywania cotygodniowych kopii zapasowych witryny.

Harmonogram kopii zapasowej bazy danych witryny 

​Teraz w podobny sposób utworzymy harmonogram automatycznych kopii zapasowych bazy danych, ale tym razem pokażę, jak dodać do skryptu dodatkowe parametry. Możesz do skryptu dodać:

  • ID profilu kopii zapasowej (parametr: --profile=x, gdzie x to id profilu kopii zapasowej);
  • opis dzięki któremu możesz zmienić domyślną nazwę automatycznej kopii (parametr: --description="opis kopii". Dodatkowo możesz wykorzystać zmienne dzięki którym w nazwach tworzonych kopii możesz umieścić tytuł witryny oraz datę i czas powstania kopii;
  • zmienne konfiguracyjne umożliwiające np. zapisanie kopii w chmurze, np.: Google Drive, One Drive, Dropbox, Amazon S3 (parametr: --override="dostep.do.chmury";

W tworzonym harmonogramie wykorzystam id profilu oraz dodatkowy opis.

Podobnie, jak w przypadku tworzenia harmonogramu tworzenia pełnej kopii zapasowej witryny, wszystkie ustawienia znajdują się w sekcji Dodaj nowe zadanie cron. Tym razem w polu Ustawienia wspólne wybierz z listy pozycję: Raz dziennie(0 0 * * *). Pozostałe pola możesz pozostawić bez zmian, chyba, że chcesz zdefiniować własną godzinę i minutę (pole: Minuta i pole Godzina) wykonywania kopii.

W polu Polecenie wklej wpis skopiowany z komponentu Akeeba Backup. Zastąp wpis: /path/to/php ścieżką właściwą dla Twojego serwera. Dodatkowo na końcu wpisu dodaj spację oraz wpisz parametr:
--profile=2

​Teraz na końcu wpisu dodaj kolejną spację oraz wpisz parametr:
--description="kopia_[HOST]_[DATE]_[TIME]"

Przykłady niektórych zmiennych:

  • [SITENAME] - nazwa witryny;
  • [DATE] - data wykonania kopii;
  • [TIME] - czas wykonania kopii;​
  • [WEEKDAY] - dzień tygodnia (Monday, Tuesdaay, itd.);
  • [DAY] - dzień miesiąca;
  • [MONTH] - miesiąc;
  • [YEAR] - rok;
  • [HOST] - adres serwera;

Cały wpis może wyglądać następująco:
/usr/local/bin/php /home/slawopt/public_html/recenzje.pl/cli/akeeba-backup.php --profile=4 --description="kopia_[SITENAME]_[DATE]_[TIME]"

To wszystko! Od teraz nie musisz się martwić o regularne wykonywanie kopii zapasowych witryny. Twoich dwóch nowych pracowników: Akeeba Backup i CRON wykonają pracę za Ciebie. Masz teraz mnóstwo czasu, który możesz poświęcić na relaks lub inne ciekawsze zajęcia ;-) 

Jeżeli Twój mechanizm tworzenia automatycznych kopii zapasowych został prawidłowo skonfigurowany, za każdym razem, kiedy zostanie wykonana kopia. otrzymasz maila informującego o wykonaniu odpowiedniej kopii zapasowej.

W komponencie Akeeba Backup, po kliknięciu na pulpicie przycisku Pliki kopii, powinna być widoczna lista wszystkich utworzonych kopii zapasowych.

W katalogach, które zostały utworzone w kroku 1 powinny pojawić się pliki z kopiami zapasowymi.

Chcesz otrzymywać powiadomienia o moich kolejnych wpisach lub projektach?

Akeeba Backup. Jak przenieść Joomla! na serwer Sma...
Jak przenieść Joomla! na serwer Smarthost?

Podobne wpisy

 

Komentarze

Umieść swój komentarz jako pierwszy!
Gość
piątek, 19 lipiec 2019

Zdjęcie captcha

Najnowsze komentarze

Gość - Andy SSL i Joomla! w Smarthost
03 styczeń 2019
Dzięki, jak zwykle dobra robota! Warto dodać, że instalacja certyfikatu SSL nie zapewnia bezpieczeństwa transmisji danych. To jest możliwe po wdrożeniu polityki bezpieczeństwa w firmie. Co do SSL - to...
Gość - Henryk Jak utworzyć menu poziome w szablonie protostar?
02 styczeń 2019
Robię punkt po punkcie i nie wyświetla się poziome menu Nie wiem gdzie tkwi błąd i co robię źle?Jeśli to możliwe to proszę o pomocps. posiadam książkę "Joomla! 3x" i tu również niema pomocy Pozdrawiam...
Gość - Joanna Jak utworzyć własny szablon dla Joomla! nie dotykając kodu? EF4 cz.2
09 grudzień 2018
Czy jest jakaś możliwość, żeby zmienić układ top-bar i tej linii, w której jest logo? Tam niby są flexibloki ale nie można zmienić ich szerokości, a tego potrzebuję bardzo. Jak tego dokonać???
Gość - Informatyk Tworzenie bazy danych w CPanelu na Smarthost - instalacja Joomla!
19 listopad 2018
Dziękuje za ten wpis joomla zawsze była dla mnie problematyczna
Gość - Sławomir DJ Image Slider
04 listopad 2018
co robić? Zdjęcia wyświetlają się pionowo, jedno pod drugim. Żadna zmiana w opcjach, nic nie daje??? Pomożecie?