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.
Spis treści:
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.