Восстановление сайта из многотомного архива в 1С‑Битрикс причины проблем и способы их решения

Бесплатная консультация юриста

+7 (800) 301-07-30

Реклама jurik.ru

При работе с системой 1С‑Битрикс часто возникает ситуация‚ когда при попытке восстановить сайт из резервной копии обнаруживается‚ что некоторые части многотомного архива недоступны или повреждены. Это приводит к ошибкам распаковки‚ неполному восстановлению данных и‚ как следствие‚ к простою проекта. В данной статье подробно рассмотрены причины такой проблемы‚ способы диагностики и восстановления‚ а также рекомендации по настройке резервного копирования‚ которые помогут избежать подобных ситуаций в будущем.

Что такое многотомный архив в Битрикс

При создании резервной копии больших проектов система Битрикс автоматически разбивает один большой .tar.gz‑файл на несколько частей (томов). Имя каждого тома имеет вид:

site-domain_YYYYMMDD_HHMMSS_full_hash.tar.gz.x

где x – номер тома (001‚ 002‚ …). Количество частей зависит от настройки «Максимальный размер несжатых данных в одной части архива (МБ)» в форме резервного копирования.

Пример из открытых источников:

«CMS Bitrix по умолчанию разбивает архив (tar.gz) резервной копии на несколько частей вида: site-domain_20160905_231753_full_0356f695.tar.gz.x где х в конце – это номер тома».

Почему могут быть недоступны некоторые части архива

  • Неполная загрузка/выгрузка файлов. При переносе резервной копии с локального диска или между серверами иногда копируются не все тома (например‚ из‑за обрыва соединения‚ ограничений FTP/SFTP или человеческой ошибки).
  • Ограничения хостинга. Некоторые хостинги блокируют загрузку файлов с определёнными расширениями или ограничивают размер одного загружаемого файла‚ что приводит к тому‚ что последние тома остаются на диске источника.
  • Повреждение при хранении. Если архив хранится на ненадёжном носителе (флешка‚ старый HDD) часть томов может испортиться из‑за битых секторов.
  • Сжатие с паролем. При включённом шифровании архив получает расширение .enc.gz‚ и без правильного пароля распаковать его невозможно даже если все тома присутствуют.
  • Неправильная настройка резервного копирования. Если параметр «Максимальный размер несжатых данных в одной части архива» задан слишком низко‚ получается очень большое количество томов‚ что повышает вероятность ошибки при их передаче.

Как проверить доступность всех частей многотомного архива

Перед началом восстановления рекомендуется выполнить следующую проверку:

  1. Скопировать все файлы резервной копии в одну директорию (например‚ /restore_backup/).
  2. Убедится‚ что имена файлов следуют последовательной нумерации без пропусков:

Пример списка файлов (вывод команды ls -1):

site-domain_20260414_230417_full_abcd1234.tar.gz.001
site-domain_20260414_230417_full_abcd1234.tar.gz.002
site-domain_20260414_230417_full_abcd1234.tar.gz.003
…

Если в списке отсутствует какой‑то номер (например‚ нет файла с расширением .005)‚ значит часть архива недоступна.

Также можно проверить контрольную сумму (MD5/SHA1) каждого тома‚ если она была сохранена при создании бекапа.

Что делать‚ если часть архива отсутствует или повреждена

Восстановление из локальной копии

Если у вас есть исходный источник резервной копии (например‚ локальный диск или другой сервер):

  1. Найдите недостающие тома и скопируйте их в директорию восстановления.
  2. Повторите проверку полноты набора файлов.
  3. Запустите процесс восстановления через стандартный скрипт restore.php (актуальную версию можно скачать с сайта 1С‑Битрикс).

Из открытых источников:

«Загрузить нужно все части многотомного архива. Количество частей зависит от настройки «Максимальный размер несжатых данных в одной части архива (МБ)» в форме настроек резервного копирования.»

Использование скрипта restore.php

Скрипт restore.php умеет автоматически определять и объединять все тома многотомного архива‚ если они находятся в одной папке.

Типовая последовательность действий:

  1. Разместить файл restore.php в корневой директории сайта (www).
  2. Поместить все части архива в ту же директорию (или указать путь к ней в параметрах скрипта).
  3. Открыть http://ваш_сайт/restore.php в браузере и следовать инструкциям мастера восстановления.

Если архив был зашифрован паролем‚ потребуется ввести его на этапе выбора файла.

Ручная распаковка многотомного архива

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

Для этого необходимо:

  1. Переименовать все тома‚ убрав суффикс номера‚ оставив общий префикс‚ например:

mv site-domain_20260414_230417_full_abcd1234.tar.gz.001 site-domain_20260414_230417_full_abcd1234.tar.gz
(повторить для всех томов‚ после чего они будут восприниматься как один файл).

Затем выполнить стандартную команду распаковки:

tar -xzvf site-domain_20260414_230417_full_abcd1234.tar.gz

Из открытых источников:

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

Если архив зашифрован (.enc.gz)‚ его можно распаковать только через официальный скрипт:

«… распаковать его можно исключительно http://www.1c-bitrix.ru/download/scripts/restore.php».

Рекомендации по настройке резервного копирования‚ чтобы избежать проблем

  • Оптимальный размер части. Установите значение «Максимальный размер несжатых данных в одной части архива» в диапазоне 100–500 МБ (в зависимости от ограничений вашего хостинга и канала связи). Это снизит количество томов и уменьшит риск потери части при передаче.
  • Проверка после загрузки. После загрузки резервной копии на целевой сервер сразу проверяйте наличие всех томов (можно использовать простой скрипт‚ который сверяет ожидаемое количество файлов с реальным).
  • Используйте надёжные каналы передачи. Предпочитайте SFTP/SSH или загрузку через панель управления хостинга‚ где есть контроль целостности (например‚ проверка MD5 после загрузки).
  • Храните копии в нескольких местах. Держите резервную копию не только на локальном диске‚ но и в облачном хранилище (например‚ Яндекс.Диск‚ Google Drive) – это обеспечит резервный источник для недостающих томов.
  • Не используйте пароль без необходимости. Шифрование усложняет восстановление и требует ввода пароля каждый раз. Если данные не являются крайне конфиденциальными‚ лучше обойтись без него.
  • Регулярно тестируйте восстановление. Периодически разворачивайте резервную копию на тестовом стенде‚ чтобы убедиться‚ что все тома читаются и процесс проходит без ошибок.

Пример пошагового восстановления из многотомного архива

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

  1. Подготовка окружения. На чистом сервере (или локальной машине) создайте пустую базу данных и разместите в корневой директории сайта файл restore.php (скачайте актуальную версию с http://www.1c-bitrix.ru/download/scripts/restore.php).
  2. Загрузка архива. Скопируйте все части многотомного архива в ту же директорию‚ где находится restore.php. Убедитесь‚ что имена файлов идут подряд без пропусков.
  3. Запуск мастера. Откройте в браузере http://ваш_домен/restore.php. Следуйте указаниям: укажите путь к архиву‚ выберите тип восстановления (полное или только файлы/БД)‚ при необходимости введите пароль.
  4. Проверка результата. После завершения работы скрипта проверьте‚ что сайт открывается‚ база данных заполнена‚ а файлы находятся на своих местах.
  5. Очистка. Удалите временные файлы и директорию /upload/tmp/‚ если они были использованы в процессе архивации/распаковки.

Из открытых источников:

«Подготовьте окружение и архив. На хостинге или локальной машине с полностью новой базой данных‚ или установленным заново веб‑окружением помещаем в папку www файл restore.php. Загрузите также в папку www архив резервной копии с расширением …».

Проблема «Битрикс доступны не все части многотомного архива» возникает чаще всего из‑за неполной передачи или хранения томов‚ ограничений хостинга или неправильных настроек резервного копирования. Чтобы минимизировать риски‚ необходимо:

  • Выбирать оптимальный размер части архива;
  • Контролировать полноту загруженных файлов;
  • Использовать проверенные каналы передачи и хранить копии в нескольких местах;
  • Регулярно тестировать процесс восстановления.

Следуя этим рекомендациям и используя встроенные инструменты (restore.php‚ ручная распаковка через tar)‚ вы сможете быстро обнаружить недостающие части архива и восстановить сайт без простоев и потери данных.