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-канале