Pigz?
최근 많은 디바이스가 멀티코어를 사용하며 많은 프로그램이 멀티코어, 멀티프로세서를 이용하도록 작성되고있다. 이러한 흐름에 맞추어 압축프로그램인 gzip
을 멀티코어를 사용하도록 개발하는 프로젝트인 pigz
를 이용하면 빠른 압축을 진행 할 수 있다.
Install
sudo apt-get install pigz
Usage
아래 예시에서 다음을 수정 후에 사용하시면 됩니다.
- [folder or file_name] : 압축할 폴더 및 파일이름
- [ compression_rate] : 압축률 1-12
- [# of processor] : pigz에 사용할 프로세서 개수
- [ output_name.tar.gz] : 출력 파일 이름
tar -cvf - [folder or file_name] | pigz -[compression_rate] -p [# of processor] > [output_name.tar.gz]
Example shell script
아래의 스크립트는 경로를 입력하면 해당 파일을 압축하는 셀 스크립트입니다. vim 등 에디터로 스크립트를 만든후에 경로를 인자로 주어서 사용하면 됩니다. (pv를 현재 진행상황을 보기위한 의존성으로 가지고 있으며 apt-get 으로 설치 가능)
#! /bin/bash
help()
{
echo "Please enter rsync path"
echo "Usage: $0 [path] "
}
if [ $# -ne 1 ]
then
help
exit 0
fi
tar cf - "$1"|pigz -9 -p 12 |pv> $1.tar.gz