用“tar | split ”将文件分包压缩

1.一次打包:

tar cjf - directory/ | split -b 100m -d -a 1 - filename.tar.bz2.

(directory/):待压缩的目录名。
(split):把文件分成几个部分。
(-b 100m):每个输出文件大小100m,单位m、k、b。
(-d):使用从0开始的数字后缀,而不是字母后缀。
(-a 1):生成长度为‘1’的后缀,也就是0~9,默认值‘2’。
(filename.tar.bz2.):完成后输出的压缩包名字。

完成后输出的压缩包如下:

filename.tar.bz2.0
filename.tar.bz2.1
filename.tar.bz2.2
filename.tar.bz2.3
filename.tar.bz2.4
filename.tar.bz2.5
filename.tar.bz2.6
filename.tar.bz2.7
filename.tar.bz2.8
filename.tar.bz2.9

最后要提醒那两个"-"不要漏了,那是“tar”的 ouput 和“split”的 input 的参数。

2.上面方法虽好,但是如果时间长了或者在拷贝传输过程中数据丢失,造成合并解压出来文件丢失了,所以我们一般会分4步:


(1)tar cf filename.tar directory/                 //打包

(2)tar cjf filename.tar filename.tar.bz2     //打包.bz2

(3)md5sum filename.tar.bz2                    //校验码,需保存好校验码,为以后合并后校验比对

(4)split -b 100m filename.tar.bz2 -d -a 1 filename.tar.bz2.        //分包

通过以上4步操作就可以输出上个方法的那些文件,比上一次方法加多了一次校验,就是为了后续合包校验比对,如果不对可能文件损坏或者合包没合好。

3.然后cat合并分包:

cat filename.tar.bz2.* > filename.tar.zb2        //filename.tar.bz2.*  == 0~9
posted @ 2022-09-16 14:21  高宏宇  阅读(295)  评论(0编辑  收藏  举报