Как да архивирате Drupal сайт на Linux

Използването на Drupal за управление на вашето съдържание е чудесен начин да извлечете максимума от уебсайт. Особено след като предлага десетки инструменти, плъгини и функции. Въпреки всички страхотни неща, които Drupal прави, архивирането не е едно от тях. Това е истинска грешка за иначе звезден CMS софтуер. Тъй като няма страхотен инструмент, който можете да използвате за архивиране на сайт на Drupal Linux, трябва да го направите ръчно.

Папка за архивиране

За да архивирате сайт на Drupal в Linux, трябва да създадете папка, в която да съхранявате експортираните файлове. В терминала използвайте командата mkdir, за да създадете папка за архивиране.

Първо, влезте като root със su.

su -

Като алтернатива, използвайте sudo -s, за да получите root, ако не знаете системната парола.

sudo -s

След това създайте резервна папка в /.

mkdir -p drupal-backups

Експортиране на SQL файлове

След това трябва да експортирате всички файлове с база данни на SQL. SQL файловете трябва да се обработват от root акаунта. Не се опитвайте да правите това архивиране с обикновен потребител.

В папката drupal-backups създайте SQL подпапка и инсталационна подпапка.

mkdir -p /drupal-backups/sql

mkdir -p /drupal-backups/installation-files

mkdir -p /drupal-backups/apache2-conf

Използвайте mysqldump, за да експортирате вашите файлове с база данни на Drupal от SQL инсталацията на сървъра в папката за архивиране.

  Как да превключите от Bash към Fish Shell на Linux

Забележка: преди да използвате командата по-долу, променете „username“ и „databasename“ на вашето потребителско име на SQL и името на базата данни в SQL, което Drupal използва. При повечето инсталации името на базата данни на SQL по подразбиране е „drupal“.

cd drupal-backups/sql

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

Архивирайте инсталационните файлове

Основните файлове на базата данни се архивират. Следващата стъпка е да архивирате действителната инсталация на Drupal. За да направите това, първо ще трябва да направите пълно копие на всичко от /var/www//html/. Ако сте следвали нашето ръководство за инсталиране на Drupal, ядрото на вашия уебсайт на Drupal на Linux е директно в /var/www/html, без подпапки. С помощта на командата cp направете пълно копие на папката html и я поставете в /drupal-backups/files.

Забележка: ако вашата инсталация е /var/www/html/drupal или нещо подобно, променете командата cp, за да отговаря на вашите нужди.

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

Получаването на архивиране на инсталацията на Drupal е важно. В тези файлове има важни конфигурации на сайтове, теми и т.н. Все пак това не са единствените файлове, които трябва да бъдат архивирани. Друг ключов файл е конфигурацията на Apache2. Този конфигурационен файл казва на уеб сървъра на Apache къде е вашата Drupal инсталация и как да я заредите. Без този файл архивирането е безполезно.

  Как да инсталирате браузъра Qupzilla на Linux

За да създадете резервно копие на конфигурационния файл Apache2, изпълнете следната команда:

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

Компресиране на архивни файлове

Сега, когато всички необходими сървърни файлове на Drupal са копирани и са готови за архивиране, е време да създадете Tar архив. Компресирането ще направи преместването на архивните файлове много по-лесно. За да създадете Tar архив на вашите архивни файлове на Drupal, изпълнете следната команда:

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

Компресирането на архивните копия е добра идея, но не е безопасно. Ако ще запазите уебсайта си на Drupal на публичен уебсайт за съхранение в облак, качването на архива Tar, некриптиран, означава, че всеки може да се забърква със стойностите във файловете на SQL базата данни, файловете на сайта или по-лошо.

Най-добре е да шифровате този архив, преди да правите нещо друго. За да шифровате, уверете се, че GnuPG е инсталиран. Нямате го? Потърсете в пакетния мениджър на вашия Linux сървър за “gpg” и го инсталирайте. След като бъде инсталиран, изпълнете следната команда, за да шифровате напълно вашия архив на Drupal архив.

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

Изпълнението на gpg -c ще каже на GnuPG, че искате да шифровате Tar архива и ще поиска парола, която да зададете за новия GPG криптиран файл. Въведете сигурна парола и изчакайте криптирането да приключи. Когато GPG приключи, не се колебайте да копирате drupal-website-backup.tar.gz.gpg и да го качите там, където планирате да запазите архива си.

  Как да преоразмерите LVM томове на Linux

Възстанови архива

Изтеглете файла за архивиране на Drupal GPG на сървъра, където искате да възстановите архива. След това направете следното:

su -

или

sudo -s

Създайте място за съхраняване на резервното копие.

mkdir -p /drupal-restore/

Преместете GPG файла в новата папка за архивиране.

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

Дешифрирайте архива с помощта на GPG.

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

Извлечете архива.

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

Въведете извлечената папка за архивиране.

cd drupal-restore/drupal-backups

Сега е време да започнем реставрацията. Започнете с импортиране на Drupal SQL файловете в MySQL.

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

Сега, когато базата данни е на мястото си в системата, възстановете останалите файлове.

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/

Преместването на файловете на място е последната критична стъпка в процеса на възстановяване.

Когато всичко изглежда добре, рестартирайте вашия Linux сървър. Въпреки че може да е досадно да рестартирате, това е добра идея. Рестартирането ще гарантира, че всички услуги, необходими за правилното стартиране на Drupal, ще се върнат онлайн. Когато сървърът се върне онлайн, всичко трябва да бъде както беше.