Jak wykonać kopię zapasową witryny Drupal w systemie Linux

Używanie Drupala do zarządzania treścią to świetny sposób na maksymalne wykorzystanie możliwości strony internetowej. Zwłaszcza, że ​​ma do zaoferowania dziesiątki narzędzi, wtyczek i funkcji. Pomimo wszystkich wspaniałych rzeczy, które robi Drupal, tworzenie kopii zapasowych nie jest jedną z nich. To prawdziwy kłopot dla znakomitego oprogramowania CMS. Ponieważ nie ma świetnego narzędzia, którego można użyć do tworzenia kopii zapasowych witryny Drupal w systemie Linux, musisz to zrobić ręcznie.

Folder kopii zapasowych

Aby wykonać kopię zapasową witryny Drupal w systemie Linux, musisz utworzyć folder do przechowywania wyeksportowanych plików. W terminalu użyj polecenia mkdir, aby utworzyć folder kopii zapasowej.

Najpierw zaloguj się jako root z su.

su -

Alternatywnie, użyj sudo -s, aby uzyskać root, jeśli nie znasz hasła systemowego.

sudo -s

Następnie utwórz folder kopii zapasowej w /.

mkdir -p drupal-backups

Eksportuj pliki SQL

Następnie musisz wyeksportować wszystkie pliki bazy danych SQL. Pliki SQL powinny być obsługiwane przez konto root. Nie próbuj wykonywać tej kopii zapasowej ze zwykłym użytkownikiem.

W folderze drupal-backups utwórz podfolder SQL i podfolder instalacyjny.

mkdir -p /drupal-backups/sql

mkdir -p /drupal-backups/installation-files

mkdir -p /drupal-backups/apache2-conf

Użyj mysqldump, aby wyeksportować pliki bazy danych Drupal z instalacji SQL na serwerze do folderu kopii zapasowej.

Uwaga: przed użyciem poniższego polecenia zmień „nazwę użytkownika” i „nazwę bazy danych” na swoją nazwę użytkownika SQL oraz nazwę bazy danych w języku SQL, z którego korzysta Drupal. W większości instalacji domyślna nazwa bazy danych SQL to „drupal”.

cd drupal-backups/sql

mysqldump -u username -p databasename > db.drupal_backup-1.sql

Utwórz kopię zapasową plików instalacyjnych

Tworzone są kopie zapasowe podstawowych plików bazy danych. Następnym krokiem jest wykonanie kopii zapasowej rzeczywistej instalacji Drupala. Aby to zrobić, musisz najpierw wykonać pełną kopię wszystkiego z / var / www // html /. Jeśli postępowałeś zgodnie z naszym przewodnikiem, aby zainstalować Drupala, rdzeń Twojej witryny Drupal w systemie Linux znajduje się bezpośrednio w / var / www / html, bez podfolderów. Używając polecenia cp, wykonaj pełną kopię folderu html i umieść ją w / drupal-backups / files.

Uwaga: jeśli twoja instalacja to / var / www / html / drupal lub coś podobnego, zmień polecenie cp, aby odpowiadało Twoim potrzebom.

cp -rp /var/www/html/*  /drupal-backups/installation-files/

Wykonanie kopii zapasowej instalacji Drupala jest ważne. W tych plikach znajdują się ważne konfiguracje serwisu, motywy itp. Jednak nie są to jedyne pliki, które wymagają kopii zapasowej. Kolejnym plikiem klucza jest konfiguracja Apache2. Ten plik konfiguracyjny informuje serwer WWW Apache, gdzie znajduje się instalacja Drupal i jak ją załadować. Bez tego pliku kopia zapasowa jest bezużyteczna.

Aby utworzyć kopię zapasową pliku konfiguracyjnego Apache2, uruchom następujące polecenie:

cp /etc/apache2/sites-available/drupal.conf /drupal-backups/apache2-conf/

Kompresuj pliki kopii zapasowych

Teraz, gdy wszystkie niezbędne pliki serwera Drupal zostały skopiowane i są gotowe do tworzenia kopii zapasowych, czas utworzyć archiwum Tar. Kompresja znacznie ułatwi przenoszenie plików kopii zapasowych. Aby utworzyć archiwum Tar plików kopii zapasowych Drupala, uruchom następujące polecenie:

tar -zcvpf drupal-website-backup.tar.gz /drupal-backups

Kompresowanie kopii zapasowych to dobry pomysł, ale jest to niebezpieczne. Jeśli zamierzasz zapisać swoją witrynę Drupal w publicznej witrynie do przechowywania w chmurze, przesyłanie archiwum Tar, niezaszyfrowane oznacza, że ​​każdy może zepsuć wartości w plikach bazy danych SQL, plikach witryny lub gorzej.

Najlepiej zaszyfrować to archiwum, zanim zrobisz cokolwiek innego. Aby zaszyfrować, upewnij się, że zainstalowano GnuPG. Nie masz tego? Poszukaj w menedżerze pakietów swojego serwera Linux w poszukiwaniu „gpg” i zainstaluj go. Po zainstalowaniu uruchom następujące polecenie, aby w pełni zaszyfrować archiwum kopii zapasowych Drupala.

gpg -c drupal-website-backup.tar.gz

Uruchomienie gpg -c powie GnuPG, że chcesz zaszyfrować archiwum Tar i poprosi o hasło do ustawienia dla nowego zaszyfrowanego pliku GPG. Wprowadź bezpieczne hasło i zaczekaj na zakończenie szyfrowania. Po zakończeniu GPG skopiuj drupal-website-backup.tar.gz.gpg i prześlij go tam, gdzie planujesz przechowywać kopię zapasową.

Przywracania kopii zapasowej

Pobierz plik kopii zapasowej Drupal GPG na serwer, na którym chcesz przywrócić kopię zapasową. Następnie wykonaj następujące czynności:

su -

lub

sudo -s

Utwórz miejsce do przechowywania kopii zapasowej.

mkdir -p /drupal-restore/

Przenieś plik GPG do nowego folderu kopii zapasowej.

mv /folder/where/drupal-website-backup/is/drupal-website-backup.tar.gz.gpg /drupal-restore/

Odszyfruj kopię zapasową za pomocą GPG.

gpg drupal-website-backup.tar.gz.gpg

Wypakuj kopię zapasową.

tar -xvpf drupal-website-backup.tar.gz

Wprowadź wyodrębniony folder kopii zapasowej.

cd drupal-restore/drupal-backups

Nadszedł czas, aby rozpocząć przywracanie. Zacznij od zaimportowania plików SQL z Drupala do MySQL.

cd sql
mysqldump -u username -p drupal < db.drupal_backup-1.sql

Teraz, gdy baza danych jest już w systemie, przywróć pozostałe pliki.

cp /drupal-restore/drupal-backups/apache2-conf/drupal.conf /etc/apache2/sites-available/
sudo ln -s /etc/apache2/sites-available/drupal.conf /etc/apache2/sites-enabled/drupal.conf

cp -rp /drupal-restore/drupal-backups/installation-files/* /var/www/html/

Przeniesienie plików na miejsce jest ostatnim krytycznym krokiem w procesie przywracania.

Kiedy wszystko wygląda dobrze, zrestartuj serwer Linux. Chociaż ponowne uruchomienie może być denerwujące, to dobry pomysł. Ponowne uruchomienie zapewni, że wszystkie usługi potrzebne do prawidłowego działania Drupala wrócą do trybu online. Gdy serwer wróci do trybu online, wszystko powinno być tak, jak było.