Восстановление сайта из резервной копии, сохранённой в корень аккаунта

Немного о резервных копиях

В данной статье речь пойдет про восстановление из резервной копии (бэкапа), выложенной в корень аккаунта через нашу систему BackUp. Подробнее о системе резервного копирования и работе с разделом BackUp вы можете узнать в руководстве по панели управления.

В процессе создания резервной копии в разделе BackUp, при выборе действия "Выложить на аккаунт", в корне Вашего аккаунта создаётся архив, содержащий в себе файловую структуру выбранного каталога.

Восстановление файловой структуры подразумевает под собой распаковку архива в нужную директорию. Если в целевом каталоге есть файлы с таким же именем, как и в архиве - они будут перезаписаны.
Если вы восстанавливаете сайт после заражения вирусами, корневую директорию сайта нужно предварительно очистить, поскольку те файлы, которые на момент создания резервной копии отсутствовали на вашем сайте, останутся в сохранности.

Имя архива можно посмотреть во вкладке "История заданий" раздела BackUp, нажав на ссылку в колонке "Статус". Если с момента заказа вами резервной копиии ее статус не сменился на "Выполнено" - значит архив еще не загружен в корень Вашего аккаунта, и необходимо немного подождать.

Большинство сайтов использует в своей работе как файлы, так и базу данных. Восстановление работоспособности сайта проходит в 2 этапа:

Тем не менее, в зависимости от проблемы на сайте, можно обойтись и одним этапом.

Этап первый: Файловая структура

Распаковка архива, способ №1: Файловый менеджер

Ознакомиться со всеми возможностями файлового менеджера вы можете в руководстве по панели управления хостингом. Более того, если дата резервной копии присутствует в списке доступных резервных копий, вы можете восстановить файловую структуру напрямую из нашей системы резервного копирования без выгрузки на аккаунт. Подробнее об этом можно узнать здесь: Файловый менеджер: Работа с бэкапами.

Откройте файловый менеджер и перейдите в корень аккаунта, нажав кнопку "Домашний FTP" в верхней панели управления. По созданному архиву кликните правой кнопкой и выберите пункт меню "Распаковать архив"
Распаковка архива в появившемся окне укажите корень (/)
Распаковка архива Нажмите "ОК", после чего ожидайте распаковки архива. После завершения процесса распаковки, процедуру восстановления файловой структуры можно считать выполненной.

Распаковка архива, способ №2: Терминал

Терминал - браузерная альтернатива SSH соединению, доступная в личном кабинете при включённом SSH. Включить SSH можно в главном разделе панели управления хостингом, переключив кнопку SSH в положение "ON" в блоке, расположенном с левой стороны. О том, как узнать имя архива, мы описали в начале данной статьи.

Имя архива вам уже известно. Теперь необходимо зайти в терминал, нажав на кнопку Terminal в нижнем левом углу панели управления хостингом (включите доступ к SSH, если Вы этого еще не сделали), и выполнить команду:

test@testserver:~ [2] $ tar -xvf ИМЯ_ФАЙЛА_РЕЗЕРВНОЙ_КОПИИ.tar.gz

Распаковка архива

Эта команда распакует файлы в директорию, в которой хранились файлы на момент создания резервной копии и перезапишет существующие файлы. Напоминаем: те файлы, которые на момент создания резервной копии отсутствовали на вашем сайте, останутся в сохранности, поэтому перед распаковкой лучше очистить корневую директорию сайта путём удаления имеющихся файлов или переносом их в другую (временную) директорию.

Этап второй: База Данных

Для восстановления состояния базы, сохраненной вручную, необходимо импортировать файл резервной копии в БД, с которой работает сайт. Сделать это можно двумя способами:

Восстановление базы, способ №1: phpMyAdmin

Сначала архив с резервной копией необходимо скачать на компьютер. Сделать это можно через FTP соединение или через файловый менеджер.
Затем нам нужно узнать, с какой базой работает наш сайт. Узнать её название можно из конфигурационного файла CMS. Вот примеры путей до конфигурационных файлов популярных CMS относительно корня сайта:

Wordpress - /wp-config.php
Joomla - /configuration.php
MODx - /core/config/config.inc.php либо /manager/includes/config.inc.php
OpenCart - /config.php и /admin/config.php (обязательно править оба)
Prestashop - /config/settings.inc.php
PHPShop - /phpshop/inc/config.ini
1C-Bitrix - /bitrix/php_interface/dbconn.php
Drupal - /sites/default/settings.php
DLE - /engine/data/dbconfig.php
HostCMS - /hostcmsfiles/config_db.php
InstantCMS - /includes/config.inc.php
Amiro - /_local/config.ini.php
vBulletin - /include/config.php
WebAsyst - /kernel/wbs.xml
Magento - /app/etc/local.xml
Invision Power Board - /conf_global.php

Затем переходим в раздел MySQL и по клику на соответствующую иконку открываем phpMyAdmin. Обращаем Ваше внимание - всплывающие окна для cp.beget.com сайта в браузере должны быть разрешены!

Также не забывайте о нашем Руководстве: подробную информацию по этому разделу Панели управления Вы можете получить там.

Выбор файла резервной копии

Теперь нам нужно загрузить нашу резервную копию в БД. Нажмите вкладку "Импорт", выберите файл созданной резервной копии на Вашем компьютере с помощью кнопки "Обзор" и нажмите кнопку "Вперёд":

Начнется процесс загрузки резервной копии в БД. Он может занять продолжительное время, в зависимости от объема Вашей БД и скорости Вашего интернет-соединения. Если при импорте резервной копии через phpMyAdmin у Вас возникают ошибки (такое возможно, если файл резервной копии достаточно большой) - попробуйте второй способ восстановления.

Выбор файла резервной копии

После загрузки Вы увидите сообщение о том, что импорт произведен успешно.

Восстановление базы, способ №2: терминал

Все действия выполняются из каталога, в котором находится резервная копия. По умолчанию это корневая директория аккаунта. Если Вы не в корневой директории, перейти в неё можно простой командой:

test@testserver:~ [2] $ cd ~

Остается распаковать файл резервной копии командой gunzip:

test@testserver:~ [2] $ gunzip название_архива.sql.gz

Архив будет распакован, в той же папке будет создан файл с именем название_архива.sql. Остается лишь импортировать его в БД сайта командой:

test@testserver:~ [2] $ mysql -u'пользователь' имя_БД -p'пароль' < название_архива.sql
На примере это будет выглядеть так:
test@testserver:~ [2] $ mysql -u'test_testdb' test_testdb -p'myspeficpassword123' < dump.sql

Данные для подключения можно посмотреть в тех же конфигурационных файлах, о которых мы рассказали в первом способе.