Советы

Как распаковать многотомный архив tar / tar.gz

Сегодня возникла задача восстановить сайт клиента из бэкапа, созданного системой Битрикс в виде многотомного архива tar.gz, который содержал несколько файлов с именами типа:

main.tar.gz
main.tar.gz.1
main.tar.gz.2

Аналогичные действия делаем для *.tar архивов.

Linux

Для распаковки подобного архива предварительно необходимо объединить все части в один архив.

В линукс-системах это можно сделать с помощью следующей команды:

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

А для *.tar архивов соотвественно будет:

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

Обратите внимание, что эта команда объединит все файлы по маске *.tar.gz* (или *.tar*), поэтому исправьте маску при необходимости.

Windows

Для виндовс необходимо изменить расширение основного архива следующим образом:

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

А в остальных частях по принципу:

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

После этого необходимо воспользоваться архиватором 7-zip, выделить в нем все части архива и распаковать за раз.

На выходе в обоих вариантах мы получим один tar.gz или tar архив, который уже можно распаковать стандартными способами:

tar -xzvf backup.tar.gz

или для tar:

tar -xvf backup.tar