Распаковка многотомный архивов 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 архива резервной копии завершен:
