tar分卷压缩/解压大文件

传输比较大文件时,或文件大小超出接收方能处理的上限时,一般会分卷压缩后进行传输。

$ tar -czf - data_dir/ | split -b 2G -d - mydata.tar.gz.

上面命令将data_dir目录打包后压缩,通过split分割成2GiB大小的多卷文件,-d参数设置分卷后缀为数字序号,最终输出的多卷压缩文件是 mydata.tar.gz.00, mydata.tar.gz.01, …

如果后缀序号参数改为 -b 则后缀序号为字母,输出的多卷压缩文件是 mydata.tar.gz.aa, mydata.tar.gz.ab, …

解压缩时则要先合并分卷,然后再解压:

$ cat mydata.tar.gz.* | tar -xz 

tar的压缩过滤器是可选的,上面举的例子的过滤器是gzip,如果选bzip2,就把z参数改为j:

$ tar -cjf - data_dir/ | split -b 4G -d - mydata.tar.bz2.

这些命令也可以放入shell脚本中,借助shell脚本就可以实现自动处理。

你可能感兴趣的:(Server)