pigz (Parallel Implementation of GZip). Большинство архиваторов работают в однопоточном режиме, что замедляет процесс сжатия. К сожалению, он не очень популярен и в гайдах о pigz упоминается крайне мало

pigz можно установить из репозиториев в популярных дистрибутивах

Сжатие файла (на выходе мы получим 2 файла filename.jpg и filename.jpg.gz:

pigz -k filename

Распаковка:

unpigz filename.gz

Если требуется удалить исходный файл и оставить заархивированный:

pigz filename

Несколько уровней сжатия:

pigz -9 -k filename.jpg

Сжатие базы:

pg_dump -U postgres base | pigz > /tmp/base.sql.gz

Pigz не умеет сжимать папки

tar --use-compress-program="pigz -k -9" -cf Fondos.tar.gz Fondos/

Сжатие директории:

tar cf - directory | pigz - > directory.tar.gz

Распаковка директории:

cat directory.tar.gz | unpigz - | tar xf -

Сжатие файлов по маске:

find /data -type f -name *filemask* -exec pigz -c '{}' \;

Распаковка:

find /data -type f -name *filemask.gz -exec unpigz '{}' \;

Ограничение по количеству ядер. -p2 ограничивает pigz использованием только двух ядер.:

pigz -k -p2 filename

Данный архиватор поможет сократить много времени, при переносе больших баз, на серверах с базами ядер довольно много. С базами от 20-30 Гб, с однопоточным архиватором процесс может занять довольно много времени. Pigz - в подобной ситуации может выручить

Анонсы и еще больше информации в Telegram-канале