• 关于打包压缩几种格式(gzip,bzip2,xz)的试验对比


     

    要通过脚本进行备份,必然将会应用到压缩技术,这里简单针对几个常见的格式进行测验,从而得到一种合适的方式。

    这里以一个应用目录做例子:

    1. [root@isj-test-5 mnt]$du -sh *
    2. 66M isj-wiki

    看到目录大小为66M。

    以下考虑压缩比与压缩时长两个维度。

    1,只打包。

    1. [root@isj-test-5 mnt]$time tar cf isj-wiki.tar isj-wiki
    2. real 0m2.622s
    3. user 0m0.013s
    4. sys 0m2.603s

    对应解压命令为:

    1. tar xf isj-wiki.tar

    2,tar.gz格式。

    注意这种格式需要安装gzip包。

    1. yum -y install gzip

    打包。

    1. [root@isj-test-5 mnt]$time tar zcf isj-wiki.tar.gz isj-wiki/
    2. real 0m4.004s
    3. user 0m3.470s
    4. sys 0m0.623s

    对应解压命令为:

    1. tar zxf isj-wiki.tar.gz

    3,tar.bz2格式。

    注意这种格式需要安装bzip2包。

    1. yum -y install bzip2

    打包。

    1. [root@isj-test-5 mnt]$time tar jcf isj-wiki.tar.bz2 isj-wiki/
    2. real 0m8.138s
    3. user 0m7.754s
    4. sys 0m0.429s

    对应解压命令为:

    1. tar jxf isj-wiki.tar.bz2

    4,tar.xz格式。

    注意这种格式需要安装xz包。

    1. yum -y install xz

    打包。

    1. [root@isj-test-5 mnt]$time tar Jcf isj-wiki.tar.xz isj-wiki/
    2. real 0m29.741s
    3. user 0m26.689s
    4. sys 0m3.192s

    对应解压命令为:

    1. tar Jxf isj-wiki.tar.xz

    5,总结。

    从时间上已经可以看出,越来越长排列的。

    接下来看重点,看看压缩之后的包大小:

    1. [root@isj-test-5 mnt]$du -sh *
    2. 66M isj-wiki
    3. 64M isj-wiki.tar
    4. 24M isj-wiki.tar.bz2
    5. 26M isj-wiki.tar.gz
    6. 20M isj-wiki.tar.xz

    可以看到大小排序与用时排序是成反比的,压缩比越高的,耗时也越久。

    最后,综合各方考虑,决定选用bz2这种格式来作为御用的压缩方式。

    6,其他技巧

    有时候在打包压缩某个目录的时候,某些诸如日志类的是不需要的,因此可以使用如下命令,对不需要的目录进行排除。

    1. tar jcf tomcat.tar.bz2 --exclude=tomcat/logs --exclude=tomcat/libs --exclude=tomcat/xiaoshan.txt tomcat

    注意:在指定排除目录的时候,目录的话结尾不能带/否则将会排除失败。比如--exclude=tomcat/logs如果写成--exclude=tomcat/logs/,则打包的时候还是会打进去。

    转载http://www.eryajf.net/2836.html

    博主QQ 343264992 QQ群交流:100411237 添加时候请备注博客园
  • 相关阅读:
    【工匠大道】svn使用总结
    【工匠大道】将项目同时托管到Github和Git@OSC
    【工匠大道】Git的使用总结
    android中dumpsys命令使用
    loadrunner11使用wplus_init_wsock录制非IE脚本/手机抓包
    互联网协议入门
    jmeter将上一个请求的结果作为下一个请求的参数——使用正则提取器
    使用Fiddler对Android应用进行抓包
    github readme.md添加图片
    python中subprocess.Popen的args和shell参数的使用
  • 原文地址:https://www.cnblogs.com/chengkanghua/p/10956322.html
Copyright © 2020-2023  润新知