Многопоточная компрессия и tar

22 Apr 2015

Сколько можно? :) Ядер все больше и больше, а

$ tar -cjf /mnt/_backup/`date '+%Y-%m-%d_%H-%M-%S'`.tbz2 /home

как работал в один поток, так и работает.

Есть два многопоточных решения:

$ tar -c /home | pbzip2 -vc -9 -p7 /mnt/_backup/`date '+%Y-%m-%d_%H-%M-%S'`.tbz2

Опцией -p# можно управлять количеством ядер, которые будет использовать архиватор. Нормально - это N-1.

Аналогично и для gzip

$ tar -c /home | pigz -vc -9 -p7 /mnt/_backup/`date '+%Y-%m-%d_%H-%M-%S'`.tbz2

С удивлением открыл для себя, что - в bash по дефолту означает stdout. И

$ tar -cf - file

будет использовать в качестве файла stdout. :)

Теги: bash linux

Категории: HowTo