Использование Drupal для управления вашим контентом — отличный способ получить максимальную отдачу от веб-сайта. Тем более, что он предлагает множество инструментов, плагинов и функций. Несмотря на все замечательные возможности Drupal, резервное копирование не входит в их число. Это настоящий облом для звездного программного обеспечения CMS. Поскольку нет отличного инструмента, который можно было бы использовать для резервного копирования сайта Linux на Drupal, вам придется делать это вручную.
Оглавление
Папка резервного копирования
Чтобы сделать резервную копию сайта 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 на сервере в папку резервного копирования.
Примечание: перед использованием приведенной ниже команды измените «имя пользователя» и «имя базы данных» на свое имя пользователя 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 и как ее загрузить. Без этого файла резервная копия бесполезна.
Чтобы создать резервную копию файла конфигурации 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 и загрузите его туда, где вы планируете хранить резервную копию.
Восстановление резервной копии
Загрузите файл резервной копии 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, вернутся в оперативный режим. Когда сервер вернется в режим онлайн, все должно быть как было.