关于打包压缩几种格式(gzip,bzip2,xz)的试验对比
文章发布较早,内容可能过时,阅读注意甄别。
要通过脚本进行备份,必然将会应用到压缩技术,这里简单针对几个常见的格式进行测验,从而得到一种合适的方式。
这里以一个应用目录做例子:
[root@isj-test-5 mnt]$du -sh *
66M isj-wiki
1
2
2
看到目录大小为 66M。
以下考虑压缩比与压缩时长两个维度。
# 1,只打包。
[root@isj-test-5 mnt]$time tar cf isj-wiki.tar isj-wiki
real 0m2.622s
user 0m0.013s
sys 0m2.603s
1
2
3
4
2
3
4
对应解压命令为:
tar xf isj-wiki.tar
1
# 2,tar.gz 格式。
注意这种格式需要安装 gzip 包。
yum -y install gzip
1
打包。
[root@isj-test-5 mnt]$time tar zcf isj-wiki.tar.gz isj-wiki/
real 0m4.004s
user 0m3.470s
sys 0m0.623s
1
2
3
4
2
3
4
对应解压命令为:
tar zxf isj-wiki.tar.gz
1
# 3,tar.bz2 格式。
注意这种格式需要安装 bzip2 包。
yum -y install bzip2
1
打包。
[root@isj-test-5 mnt]$time tar jcf isj-wiki.tar.bz2 isj-wiki/
real 0m8.138s
user 0m7.754s
sys 0m0.429s
1
2
3
4
2
3
4
对应解压命令为:
tar jxf isj-wiki.tar.bz2
1
# 4,tar.xz 格式。
注意这种格式需要安装 xz 包。
yum -y install xz
1
打包。
[root@isj-test-5 mnt]$time tar Jcf isj-wiki.tar.xz isj-wiki/
real 0m29.741s
user 0m26.689s
sys 0m3.192s
1
2
3
4
2
3
4
对应解压命令为:
tar Jxf isj-wiki.tar.xz
1
# 5,总结。
从时间上已经可以看出,越来越长排列的。
接下来看重点,看看压缩之后的包大小:
[root@isj-test-5 mnt]$du -sh *
66M isj-wiki
64M isj-wiki.tar
24M isj-wiki.tar.bz2
26M isj-wiki.tar.gz
20M isj-wiki.tar.xz
1
2
3
4
5
6
2
3
4
5
6
可以看到大小排序与用时排序是成反比的,压缩比越高的,耗时也越久。
最后,综合各方考虑,决定选用bz2
这种格式来作为御用的压缩方式。
# 6,其他技巧
有时候在打包压缩某个目录的时候,某些诸如日志类的是不需要的,因此可以使用如下命令,对不需要的目录进行排除。
tar jcf tomcat.tar.bz2 --exclude=tomcat/logs --exclude=tomcat/libs --exclude=tomcat/xiaoshan.txt tomcat
1
注意:
在指定排除目录的时候,目录的话结尾不能带/
否则将会排除失败。比如--exclude=tomcat/logs
如果写成--exclude=tomcat/logs/
,则打包的时候还是会打进去。
上次更新: 2024/07/04, 22:40:37