СЖАТИЕ ФАЙЛОВ АРХИВАТОРОМ ПОД LINUX В МНОГО ПОТОКОВ
Рабочая быстрая архивация:
tar --use-compress-program=pigz -cf base.tar.gz base.sql
Распаковываем всё в каталог /target/dir, используя многопоточный архиватор unpigz:
cat /path/to/archives/backupname.tar.gz.* | tar --use-compress-program "unpigz" -x -C /target/dir
Преамбула
Далеко не все знают, что существуют аналоги gzip и gzip2 с поддержкой SMP, которые генерируют архивы, полностью совместимые со стандартными архиваторами. Зовутся эти чудо-архиваторы pigz,pbzip2 и lbzip2 (два последних имплементация bzip2, думаю лучше брать lbzip2, поскольку именно эта версия упоминается в доках на tar).
Инсталлируем:
yum install pigz pbzip2 lbzip2
Используем:
Паковать:
tar cf /directory | pigz name.tar.gz
Распаковать
cat name.tar.gz | unpigz - | tar xf -
Назначаем использование pigz в tar поумолчанию:
в файл /etc/bashrc добавить строку:
alias tarz='tar --use-compress-program=pigz'
echo "alias tarz='tar --use-compress-program=pigz'" >> /etc/bashrc
или:
alias tarz='tar --use-compress-program=pbzip2'
После чего для архивации использовать команду:
tarz -cf <output_file.tar.gz> <directory>
