Резервное копирование и восстановление сайта на 1С-Битрикс

Антон Чуркин
Антон Чуркин
20.04.22

    Когда вы разрабатываете веб-сайт, есть один важный шаг: настройка резервного копирования на Битриксе. К счастью, создание надлежащей резервной копии — относительно простая задача. Для этого нужно решить следующие вопросы:

    • Каким способом собираетесь копировать.
    • Как часто будете проводить резервное копирование.
    • Где будете хранить резервную копию.

    В этой статье компания Alto расскажет: 

    • Как избежать системного краха сайта. 
    • Как сделать резервную копию сайта на 1С-Битрикс.
    • Как восстановить сайт на 1С-Битрикс.

    Как избежать системного краха сайта

    Первоначально владельцу нужно разработать политику создания резервных копий:

    • сроки или периодичность;
    • количество архивов датируемых разной датой.

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

      Соблюдать график резервного копирования сайта на Битрикс легко, достаточно настроить систему копирования на автоматическое создание архивов. Такой подход снижает потребность в персонале, потому что дампы будут сниматься без участия сотрудников. Восстановление также работает «по нажатию одной кнопки».

      Полностью рассчитывать на автоматику не стоит, особенно, в периоды обновления контента. Средств защиты от системных сбоев с абсолютной гарантией не существует, поэтому делать резервную копию своего сайта нужно обязательно. То же относится и к другим продуктам 1С типа CRM Битрикс24.

      Во втором случае резервное копирование в Битрикс лучше осуществлять вручную и сразу скачивать архивы на локальный накопитель. Например, при подключении к серверу через FTP. Тогда даже при полном крахе сайта получится восстановить работу почти без простоев (типовой ресурс разворачивается за 10-40 минут). Такое особенно интересно, если по тарифу хостинг-провайдера не удается делать более 2-3 архивных копий.

       

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

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

      Резервные копии на стороне хостинг-провайдера

      На виртуальном хостинге независимо от провайдера обычно работает система резервирования без вмешательства пользователя. Созданные копии отображаются в личном кабинете, там же имеются кнопки для восстановления, ручного архивирования сайта. На размещение файла «по умолчанию» используется пространство, выделенное под сайт, поэтому на сервере лежит не более 2-3 последних дампов, включающих полную копию ресурса (и парочка только с изменениями).

      Иногда система хостинга делает архивы, которые содержат только файлы, измененные с момента осуществления последнего «снимка». Поэтому надо быть внимательным при переносе резервного файла на локальное хранилище. Если есть сомнения, лучше сделать копию Битрикс вручную, и уже ее необходимо скачать как «шаблонный» вариант. Последнее важно, потому что проблемы могут проявиться через 2-3 недели после изменений, за это время прежние копии будут затерты новыми.

      Резервное копирование средствами платформы 1С-Битрикс

      У провайдеров есть возможность создавать и управлять резервными копиями. Несмотря на это надежнее в месте с этим использовать встроенные средства архивации. Это бывает удобно, когда нужно дать доступ сотруднику только к панели администратора CMS.

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

      Возможности встроенного инструмента для создания бэкапов в 1С-Битрикс:

      Если размер несжатых данных превышает 1 Гбайт, система разобьет дамп резервной копии на две и более частей. Можно сделать резервную копию сайта Битрикс с размещением на локальном или облачном хранилище. Главное, разделить места хранения для повышения сохранности ресурса, но с учетом удобства обратного копирования. При обнаружении неполадок нужно иметь возможность быстро исправить их развертыванием даже «очень старой» копией.

      Сохранение архива в «локальную» папку

      Существует три способа сделать копию сайта Битрикс:

      В первом случае достаточно выбрать пункт меню «Резервное копирование», расположенный по пути – Настройки> Инструменты. Вот здесь впервые пользователь сталкивается с условиями компании 1С-Битрикс по предоставлению дискового пространства.

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

      Так, на «Старте» и «Стандарте» выделяется всего 2 Гбайт, для «Малого бизнеса» лимит увеличен до 4 Гбайт, для «Бизнеса» до 10 Гбайт. На тарифе «Энтерпрайз» пространство под бэкапы ничем не ограничено. Выбрать место расположения архива можно после включения режима «экспертных настроек», он доступен в закладке «Параметры» и активируется галочкой в соответствующем пункте. Там же указывают, какие файлы исключить из резервирования.

      Правила применения масок исключения:

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

      При шифровании применяется алгоритм openssl_encrypt. Его можно отключить только при выборе локального хранилища, в «облаках» архивы хранятся только в зашифрованном виде. Такой подход необходим для поддержания заявленного уровня безопасности, все-таки сторонние хранилища – это определенный риск доступа к информации посторонних. Заданный пользователем пароль нужно хранить в надежном месте, потому что восстановить его при утрате не получится.

      Сохранение резервной копии в облачном хранилище

      При выборе в качестве места хранения «облака», предоставляемого разработчиком, понадобится установить модуль «Облачные хранилища (Clouds)» или убедиться в его наличии. То же относится к «облакам» сторонних разработчиков. Перед первым резервированием желательно уточнить, есть ли подключение с сервисом. В первом случае также понадобится легитимный коммерческий ключ и установленный модуль «Облако 1С-Битрикс (Bitrixcloud)».

      Особенности:

      Последнее зависит от встроенного алгоритма – файл всегда сначала создается локально и только затем переносится в «облако». При временных сбоях дамп можно найти по стандартному пути, в каталоге /bitrix/backup. После восстановления связи, когда система все-таки сможет скопировать сайт Битрикс в хранилище, тот будет автоматически удален. Физически хранилище «1С-Битрикс» расположено на сторонних серверах Amazon S3, поэтому приходится учитывать риски сбоев.

      Особенности резервирования при многосайтовости

      Сохранять в архиве можно любое количество сайтов, достаточно отметить нужные в перечне. Но со стороны администратора понадобится определенный перечень действий, чтобы сэкономить место на локальном накопителе или в «облаке». Например, нужно учитывать, что база данных копируется полностью, включая содержимое сайтов, которые не отмечены. Поэтому нет смысла создавать раздельные копии, они только займут «лишнее место».

      Есть еще особенности:

      Только после этого остальные сайты будут работоспособны. Подобные нюансы лучше учитывать еще на этапе развертывания, чтобы, по возможности, настроить систему на максимальное быстрое восстановление. Так, многосайтовость требует определенных настроек веб-сервера Apache, чтобы файловая система обязательно была не FAT32, т.к. она не поддерживает символьные ссылки и т.д. (это тема для отдельной статьи, поэтому здесь приводим лишь краткую информацию).

      Восстановление сайта на 1С-Битрикс

       

    Заходим в админку Битрикс и нажимаем на настройки.

    Далее переходим в инструменты, в резервное копирование. В выпадающем списке можно создать резервное копирование вручную, просмотреть уже существующие копии и журнал изменений. При оплаченном аккаунте резервную копию можно поместить в облаке «1-С Битрикс». Она будет храниться не на вашем хостинге, а на серверах Битрикс. 

    При лицензии сервер даёт 2 ГБ, то есть, можно сохранить всего 2-3 раза. Чтобы сделать несколько копий, лучше использовать сохранение на компьютере. 

    Нажимаем «Создать резервную копию». Как раз здесь можно выбрать, где мы будем сохранять данные сайта: в облаке «1-С Битрикс» или в папке сайта. 

    При необходимости перейдите в «экспертные настройки», в «параметры». Там можно отрегулировать сохранение данных с сайта. 

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

    Ждём, пока закончится загрузка резервной копии. Она может быть всего 20 минут, если проект небольшой и весит несколько ГБ. Все зависит от размера и количества данных.  

    Для переноса резервной копии сайта на другой хостинг нужно поместить в папку нового сайта скрипт для восстановления. Скачиваем файл >/restore.php.

    В корневую папку сайта поместим скачанный скрипт для восстановления. Для этого перейдем в архив сайта на компьютере. 
     



    Локальная копия готова, время создания — несколько минут, дальше мы можем перейти в список. Перемещаемся по папкам: bxsite - bitrix - backup. Копируем все файлы, кроме index.php. Вставляем в папке bxrestored.

     

    Затем в строке браузера проверяем скрипт для восстановления. Набираем bxrestored.loc/. В выпадающем списке нажимаем на restore.php и галочкой отмечаем «Архив загружен в корневую папку сайта». 

    Файлы для восстановления базы данных готовы!

     

    Скачивание архива через FTP

    Выше вариант скачивания именно на базе системы Битрикс. Резервное копирование также можно сделать через FTP-клиента. Для этого:

    • Через FTP-клиента подключаемся к сайту. Так как через Битрикс или сам хостинг были созданы резервные копии, переходим к папке backup;

    • Здесь есть уже созданные архивы резервных копий. Если созданных резервных копий много, то можно посмотреть по дате самую свежую из них; 

    • Выбираем нужную базу данных и просто скачиваем эти файлы себе на компьютер. Но перед скачиванием обязательно проверьте свободное место на своём хостинге под новый сайт. 

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

       

      Где найти созданные копии в системе Битрикс? 

      После успешного создания резервная копия сайта будет расположена в списке резервных копий. Для этого нужно нажать на «Настройки», и в меню инструментов выбрать «Список резервных копий». 

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

      Нюансы при переносе данных в Битрикс

      Для снижения ошибок при резервном копировании, нужно учитывать особенности работы с системой:

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

    • Чтобы не занимать свободное место, из выгрузки нужно удалить папки /bitrix/backup/ и /bitrix/cache/. 

    • После запуска процесса восстановления нужно дождаться завершения процесса. При параллельном восстановлении часть файлов может не отобразиться и занять больше времени при переносе.

    • Если сервер слабый, то ждите ошибок 502 и 504. В этом случае нужно рассмотреть другие варианты хостингов.

    • Формат *.tar.gz предназначен для распаковки файлом restore.php. Никакой другой архиватор не подойдёт, так как есть риск потерять часть данных с этого резервной копии. Модификации с rar, zip, 7z также повредят файлы.

    • При загрузке данных с Database Host: [localhost:31006] — допустимы только имена localhost:31006 или localhost:3 6448. Это базовые настройки и изменить их нельзя.

    Восстановление сайта из резервной копии на новом хостинге

    Чтобы с самого начала не сталкиваться с ошибками при переносе данных, нужно протестировать новый сервер на соответствие с настройками Битрикс. Делать это нужно через скрипт, который расположен на сервер-тесте. Этот скрипт постоянно обновляется, учитываются новые ошибки и обновления системы. 

    • Скачиваем файл restore.php и переходим по ссылке вашего домена + restore.php.

    • Высветится стартовый экран для переноса данных, там поставьте галочку на «Скачать резервную копию с дальнего сайта».  

    • После скачивания система запросит данные для восстановления базы и файлов.

    • Начнется выгрузка сайта. После этого можно удалить архив с копией и скриптами. Восстановление завершено. 

    Ручной перенос данных через систему rsync

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

    • можно вручную найти мелкие ошибки и изменения в переносе данных, чтобы сразу их исправлять; 

    • при таком переносе не нужно будет закрывать публичную часть сайта, а значит, вся работа будет проходить бесперебойно;

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