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