Как сделать резервную копию сайта Drupal в Linux

Использование Drupal для управления вашим контентом — отличный способ получить максимальную отдачу от веб-сайта. Тем более, что он предлагает множество инструментов, плагинов и функций. Несмотря на все замечательные возможности Drupal, резервное копирование не входит в их число. Это настоящий облом для звездного программного обеспечения CMS. Поскольку нет отличного инструмента, который можно было бы использовать для резервного копирования сайта Linux на Drupal, вам придется делать это вручную.

Папка резервного копирования

Чтобы сделать резервную копию сайта Drupal в Linux, вы должны создать папку для хранения экспортированных файлов. В терминале используйте команду mkdir для создания резервной папки.

Сначала войдите в систему как root с помощью su.

su -

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

sudo -s

Затем создайте резервную копию папки в /.

mkdir -p drupal-backups

Экспорт файлов SQL

Затем вам нужно экспортировать все файлы базы данных SQL. Файлы SQL должны обрабатываться учетной записью root. Не пытайтесь делать это резервное копирование с помощью обычного пользователя.

  Как использовать команду chgrp в Linux

В папке drupal-backups создайте подпапку SQL и подпапку установки.

mkdir -p /drupal-backups/sql

mkdir -p /drupal-backups/installation-files

mkdir -p /drupal-backups/apache2-conf

Используйте mysqldump для экспорта файлов базы данных Drupal из установки SQL на сервере в папку резервного копирования.

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

  Как сделать резервную копию виртуальной машины Virt-Manager в 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 и загрузите его туда, где вы планируете хранить резервную копию.

  Как настроить терминал 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

Пришло время начать восстановление. Начните с импорта файлов SQL Drupal в 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, вернутся в оперативный режим. Когда сервер вернется в режим онлайн, все должно быть как было.