Распаковать многотомный tar gz архив bitrix на windows

Бывает необходимо извлечь из бэкапа 1C-Битрикс несколько файлов, но он разбит на множество томов (по 100 мегабайт) и просто так его не открыть. И все же решение есть.

Бывает необходимо извлечь из бэкапа 1C-Битрикс несколько файлов, но он разбит на множество томов (по 100 мегабайт) и просто так его не открыть. И все же решение есть.

При создании бэкапа 1C-Битрикс создает архив tar или tar.gz (если используется сжатие) и режет на несколько файлов. Его можно восстановить склеив все части архива с помощью утилиты cat.

Для не сжатых архивов:

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

Для сжатых архивов:

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

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

Склеить архив и сразу распаковать (для не сжатых архивов):

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

Склеить архив и распаковать (для сжатых архивов):

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

Однако данный способ не сработает для зашифрованных архивов, если на бэкап был установлен пароль. В таком случае файлы будут иметь расширение .enc.gz, а распаковать его можно будет только средствами самого 1C-Битрикс через restore.php.

На этом всё. Но вы можете поддержать проект. Даже небольшая сумма поможет нам писать больше полезных статей.

Если статья помогла или понравилась, пожалуйста поделитесь ей в соцсетях.

Зачастую нам нужно достать несколько файлов с архива созданных СМ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 архив одним файлом:

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

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

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

 

Пользователь 258869

Постоянный посетитель

Сообщений: 336
Баллов: 26
Авторитет:

1

Рейтинг пользователя:

1

Регистрация: 14.05.2014

Здравствуйте.

Есть многотомный архив битрикса большого размера. Мне нужно вытащить всего один файл. Есть доступ к консоли. Как это можно сделать, не распаковывая весь архив? Если кто знает, дайте, пожалуйста, рабочее решение, не пересылая на какие-либо маны, я не знаток линукса.

 

Пользователь 258869

Постоянный посетитель

Сообщений: 336
Баллов: 26
Авторитет:

1

Рейтинг пользователя:

1

Регистрация: 14.05.2014

ТП посоветовала с помощью restore.php, я, в общем-то тоже склонялся к этой возможности, да только разворачивание под это дела отдельного домена что-то не понравилось. Поэтому ввиду того, что было достаточно свободного места и доступ к ssh сделал сначала склеивание всех частей архива cat, затем воспользовался tar. По хорошему нужно сразу вытащить нужные файлы из архива, да только не осилил это, пробовал  tar -xzf archive.tar.gz /local/templates/desktop/templates_style.css, но результат отрицательный и выдал ошибку. Поэтому пошел по делитанскому пути и распаковал весь архив:)

 

Пользователь 265201

Эксперт

Сообщений: 1340
Баллов: 116
Авторитет:

1

Рейтинг пользователя:

1

Регистрация: 18.06.2014

аналогично также вытаскивал недавно файлик из 6гб бэкапа!!

 

Пользователь 258869

Постоянный посетитель

Сообщений: 336
Баллов: 26
Авторитет:

1

Рейтинг пользователя:

1

Регистрация: 14.05.2014

А если архив многотомный, то так не получится, т.к. откроется только первый, разве нет?

 

Пользователь 57829

Гуру

Сообщений: 3754
Баллов: 320
Авторитет:

0

Рейтинг пользователя:

2

Регистрация: 17.02.2010

#6

1

30.12.2015 21:18:23

Если архив закодированный, то никак, если нет, то лепите все тома в один файл и вытаскиваете чем удобнее, например тем же tarом

в винде можно сделать так

Код
copy /B arc.tar.gz+arc.tar.gz.1 (все тома через плюс) имя_результирующего_архива.tar.gz

в linux через cp

Карточка партнера Наш сайт

 

Пользователь 258869

Постоянный посетитель

Сообщений: 336
Баллов: 26
Авторитет:

1

Рейтинг пользователя:

1

Регистрация: 14.05.2014

#7

0

30.12.2015 21:28:04

Спасибо Денис за коммент, я сделал аналогичным образом (указал выше), но вот интересно как вы поступаете, если архив битый, у меня уже два раза было, распаковка ломалась на файлах из upload  картинок инфоблока и пробывал через restore.php, но он далеко не всегда позволяет пропустить возникшую ошибку при распаковке, один раз обратился к ТП битрикса, помогли, но как они сделали хз.

Мой сайт http://infogold.ru

Amaini


  • #2

При создании резервной копии bitrix разбивает архив на несколько частей , размер каждой части задается в параметрах резервного копирования, по умолчанию — этого 100 МБ.
Чтобы распаковать резервную копию bitrix на windows нужно:

  1. Изменить расширение первой части архива
    .tar.gz
    на .tar.gz.001
    Разрешение всех остальных томов gzip архива переименовать следующим образом:
    .tar.gz.1 на .tar.gz.002
    .tar.gz.2
    на .tar.gz.003
    и т.д.
  2. Выделить все части архива и запустить распаковку через архиватор 7-zip, после распаковки получится новый tar архив одним файлом.
  3. Запустить распаковку tar архива архиватором 7-zip, после распаковки получится папка с резервной копии сайта.

*Для быстрого переименования можно воспользоваться Total Commander или Unreal Commander через «Групповое переименование»

Использую 7zip архиватор на Windows 10 ~1600.
Проблем с распаковкой .tar.gz.1 не испытывал.
Может этот пост актуален для WinRar или стандартного архиватора Windows?

sakyraster


  • #3

Использую 7zip архиватор на Windows 10 ~1600.
Проблем с распаковкой .tar.gz.1 не испытывал.
Может этот пост актуален для WinRar или стандартного архиватора Windows?

Раньше не выходило, может у меня старый 7zip стоял… протестирую, а так я всегда этим способом пользовался:)

Amaini


  • #4

Раньше не выходило, может у меня старый 7zip стоял… протестирую, а так я всегда этим способом пользовался:)

who

who

Продвинутый (IV)


  • #5

Странная ситуация зачем вообще распаковывать бекап на win машине — не совсем понятно, 7zip’ом пользуюсь лет 5 точно проблем с распаковкой архивов проблем никогда небыло, в том числе состоящие из нескольких частей.

sakyraster


  • #6

Странная ситуация зачем вообще распаковывать бекап на win машине — не совсем понятно, 7zip’ом пользуюсь лет 5 точно проблем с распаковкой архивов проблем никогда небыло, в том числе состоящие из нескольких частей.

Разные ситуации бывают…

Использую 7zip архиватор на Windows 10 ~1600.
Проблем с распаковкой .tar.gz.1 не испытывал.
Может этот пост актуален для WinRar или стандартного архиватора Windows?

Решил проверить, может за уже за долгое время чтото изменилось…
В итоге 7zip у меня поновее.
Snap35.jpg

Сделал бекап, качнул на комп, через выделение всех файлов и потом отдельно tar.gz выбрал распаковку, в первом случае при распаковке частей .tar.gz.1 и тд. просило замену файла для каждой новой части (так как в томах идет одно название), во втором случае распаковывалась одна часть (100мб)

Snap34.jpg

Делаю скриншот настойки для быстрого переименования в Total Commander, после переименования и распаковки многотомный архив чудесно распаковался как нужно

Snap37.jpg

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

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

Но это только если вы поставили галочку «Отключить компрессию архива (снижение нагрузки на процессор):» С компрессией создается уже не tar а tar.gz

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

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

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

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

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

Пример сортировки по имени

Просто получить архив 1 файлом

Ну и на последок если вам не нужно его распаковывать а просто получить архив.

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

Для сжатых:

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

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

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

Остается еще один неучтенный вариант, когда вы поставили пароль на архив.
В таком случае это .enc.gz файлы и это архив сделанный битриксом, распаковать его можно исключительно http://www.1c-bitrix.ru/download/scripts/restore.php

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

bitrix/modules/main/admin/restore.php

Понравилась статья? Поделить с друзьями:
  • Расположение файла microsoft edge в windows 10
  • Распакованный образ windows 10 на флешку
  • Расположение файла hosts в windows 10
  • Раскройте все возможности windows с особенными пк
  • Расположение стандартного просмотрщика изображений windows 10