因此,我正在使用带有pigz的tar。
tar --use-compress-program=pigz
这个方法可以工作,但它没有使用我所有的处理器,并且我想确保它是递归的(-r)并且使用(-9压缩级别)。
我阅读了利用多核进行tar+gzip/bzip压缩/解压缩,但它没有注明在该格式中添加其他命令的任何位置,并且我在两个程序的man页面中找不到任何其他开关。
谢谢, Cam
因此,我正在使用带有pigz的tar。
tar --use-compress-program=pigz
马克·阿德勒在您的问题中提供的SO链接中得票最多的答案确实提供了一种解决方案,可以指定压缩级别以及要使用的处理器数量:
tar cf - paths-to-archive | pigz -9 -p 32 > archive.tar.gz
要通过-I
或--use-compress-program
向pigz
传递参数,您可以像这样将命令和参数括在引号中:
tar --use-compress-program="pigz --best --recursive" -cf archive.tar.gz YourData
这里有一个有趣的选项来监控归档创建的速度:
tar --use-compress-program="pigz --best --recursive | pv" -cf archive.tar.gz YourData
tar --use-compress-program="pigz -dc -p 20" -xvpf test.tgz -C /home/test_dir
?我尝试过了,但是它失败了。我想在自定义线程数下解压我的tgz文件。 - CHENJIAN快速解包:
tar -I pigz -xf /mnt/sd/current/backup/bigbackup_web.tar.gz -C /tmp
快速打包:
tar -cf bigbackup.tar.gz -I pigz /opt
然后:
apt-get install pigz
或者
yum install pigz
或者使用Homebrew安装在MacOS上
brew install pigz
--use-compress-program=pigz
与 -I pigz
相同。 - akhan