Распаковка многотомный архивов 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:
- Выделите нужные файлы
- Выберите в меню
Файл
Групповое переименование файлов
- Задайте параметры переименования
Чтобы распаковать резервную копию на 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
архива резервной копии завершен: