Як створити резервну копію сайту 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 повинні оброблятися кореневим обліковим записом. Не намагайтеся зробити цю резервну копію за допомогою звичайного користувача.

У папці drupal-backups створіть підпапку SQL та підтеку встановлення.

mkdir -p /drupal-backups/sql

mkdir -p /drupal-backups/installation-files

mkdir -p /drupal-backups/apache2-conf

Використовуйте mysqldump, щоб експортувати файли бази даних Drupal із інсталяції SQL на сервері до папки резервного копіювання.

  4 найкращих зовнішніх твердотільних накопичувача для користувачів Linux на вибір у 2021 році

Примітка: перш ніж використовувати наведену нижче команду, змініть «ім’я користувача» та «ім’я бази даних» на своє ім’я користувача 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 і як її завантажити. Без цього файлу резервна копія марна.

  Як встановити Xonotic на 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 і завантажити його туди, де ви плануєте зберігати резервну копію.

  6 найкращих редакторів Markdown для 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, повернуться в Інтернет. Коли сервер відновиться в режимі онлайн, все має бути як було.