國(guó)家新聞出版署是什么機(jī)構(gòu)/揚(yáng)州seo博客
文章目錄
- 自定義多線(xiàn)程壓縮解壓縮腳本
- 使用
- Linux下 自定義多線(xiàn)程并發(fā)快速壓縮解壓縮腳本
Linux下常用的tar工具無(wú)法支持并行 壓縮和解壓,對(duì)于大量小文件的解壓縮,可借助pigz工具實(shí)現(xiàn)多線(xiàn)程并行工作,實(shí)現(xiàn)更為高效的壓縮和解壓縮。
自定義多線(xiàn)程壓縮解壓縮腳本
首先安裝 pigz創(chuàng)建腳本 mypigz
#! /bin/bash
name=$1
dir=$2function pin_thread2core()
{ps -efT | grep pigz | grep -v "grep"pid=$(ps -efT | grep pigz | grep -v "grep" | awk '{print $3}')echo $pidcoreid=2for val in $piddoecho "taskset -cp $coreid $val"taskset -cp $coreid $val((coreid++))done
}cmdline=`cat /proc/cmdline`
coremask=${cmdline#*isolated_cores=}
echo coremask: $coremaskif [ "$coremask"x = x ]; thenecho "Invalid coremask"coremask=1-10
fiif [ $# -ge 2 ];then#壓縮echo "start compress"time taskset -c $coremask tar cf - $dir | taskset -c $coremask pigz -6 -p 10 -k > $name.tar.gz &pin_thread2core
else#解壓echo "start decompress: $name"time pigz -p 10 -d $name & pin_thread2core tarname=$(basename $name .gz) waittime taskset -c $coremask tar xf $tarname
fiwait
使用
#壓縮
./mypigz 文件名 目錄
#解壓
./mypigz 壓縮包名
The End.