Полный цикл в digital

Распаковка многотомный архивов Bitrix

Зачастую нам нужно достать несколько файлов с архива созданных СМS 1C-Битрикс, или попытаться востановить сайт если это не получается сделать стандартными средствами Битрикс. По сути Битрикс создает резервную копию разбитую на несколько файлов, по умолчанию каждый весит 100 мегабайт и валидно tar открывает только первый том, последующие просто не понимает формат файла. Я покажу простой способ как восстановить такой архив. Вариантов создания архивов несколько, так и решений по их склейке.

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

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

Распаковка архива enc.gz

Если при создании архива поставили пароль через админку файлы будут иметь расширение .enc.gz, распаковать его можно исключительно файлом restore.php.

Иногда в моей практике наблюдались глюки с распаковкой, когда версия restore.php отличалась от версии сайта. В таком случае скачайте файл подходящий для распаковки вашего сайта с самого проекта, находится он тут:

bitrix/modules/main/admin/restore.php

Распаковка в Linux

  • cat читает содержимое
  • *$ все переменные
  • ls -v обязательный атрибут, сортирует не по названию файлов а по цифрам в файлах и строит последовательность
  • tar xzf передаем все данные тару и распаковываем их в потоке

Распоковываем в файлы

Читаем содержимое всех файлов и сразу распаковываем:

cat *$(ls -v  *tar.*) | tar xf -

Читаем содержимое всех файлов и сразу распаковываем сжатые файлы:

cat *$(ls -v  *tar.gz*) | tar xzf -

Распоковываем в архив

Читаем содержимое файлов и распаковываем в архив:

cat $(ls -v  *tar.*) > backup.tar

Читаем содержимое сжатых файлов и распаковываем в архив:

cat *$(ls -v  *tar.gz*) > backup.tar.gz

Распаковка в Windows

Для массового переиминования файлов лучше всего воспользоваться Total Commander:

  1. Выделите нужные файлы
  2. Выберите в меню Файл Групповое переименование файлов
  3. Задайте параметры переименования

Чтобы распаковать резервную копию на windows нужно:

Изменить расширение первой части архива:

.tar.gz на .tar.gz.001

Разрешение всех остальных томов gzip архива переименовать следующим образом:

.tar.gz.1 на .tar.gz.002
.tar.gz.2 на .tar.gz.003

Выделить все части архива и запустить распаковку через архиватор 7-zip, после распаковки получится новый tar архив одним файлом:

Запустить распаковку tar архива архиватором 7-zip, на этом процесс распаковки многотомного gzip архива резервной копии завершен:

Заполните форму уже сегодня!
Для начала сотрудничества необходимо заполнить заявку или заказать обратный звонок. В ответ получите коммерческое предложение, которое будет содержать индивидуальную стратегию с учетом требований и поставленных задач
Работаем по будням с 9:00 до 18:00. Заявки, отправленные в выходные, обрабатываем в первый рабочий день до 12:00.
Спасибо, ваш запрос принят и будет обработан!
Эйч Маркетинг