二丫讲梵 二丫讲梵
首页
  • 最佳实践
  • 迎刃而解
  • Nginx
  • Php
  • Zabbix
  • AWS
  • Prometheus
  • Grafana
  • CentOS
  • Systemd
  • Docker
  • Rancher
  • Ansible
  • Ldap
  • Gitlab
  • GitHub
  • Etcd
  • Consul
  • RabbitMQ
  • Kafka
  • MySql
  • MongoDB
  • OpenVPN
  • KVM
  • VMware
  • Other
  • ELK
  • K8S
  • LLM
  • Nexus
  • Jenkins
  • 随写编年
  • 家人物语
  • 追忆青春
  • 父亲的朋友圈
  • 电影音乐
  • 效率工具
  • 博客相关
  • Shell
  • 前端实践
  • Vue学习笔记
  • Golang学习笔记
  • Golang编程技巧
  • 学习周刊
  • Obsidian插件周刊
关于
友链
  • 本站索引

    • 分类
    • 标签
    • 归档
  • 本站页面

    • 导航
    • 打赏
  • 我的工具

    • 备忘录清单 (opens new window)
    • json2go (opens new window)
    • gopher (opens new window)
    • 微信MD编辑 (opens new window)
    • 国内镜像 (opens new window)
    • 出口IP查询 (opens new window)
    • 代码高亮工具 (opens new window)
  • 外站页面

    • 开往 (opens new window)
    • ldapdoc (opens new window)
    • HowToStartOpenSource (opens new window)
    • vdoing-template (opens new window)
GitHub (opens new window)

二丫讲梵

行者常至,为者常成
首页
  • 最佳实践
  • 迎刃而解
  • Nginx
  • Php
  • Zabbix
  • AWS
  • Prometheus
  • Grafana
  • CentOS
  • Systemd
  • Docker
  • Rancher
  • Ansible
  • Ldap
  • Gitlab
  • GitHub
  • Etcd
  • Consul
  • RabbitMQ
  • Kafka
  • MySql
  • MongoDB
  • OpenVPN
  • KVM
  • VMware
  • Other
  • ELK
  • K8S
  • LLM
  • Nexus
  • Jenkins
  • 随写编年
  • 家人物语
  • 追忆青春
  • 父亲的朋友圈
  • 电影音乐
  • 效率工具
  • 博客相关
  • Shell
  • 前端实践
  • Vue学习笔记
  • Golang学习笔记
  • Golang编程技巧
  • 学习周刊
  • Obsidian插件周刊
关于
友链
  • 本站索引

    • 分类
    • 标签
    • 归档
  • 本站页面

    • 导航
    • 打赏
  • 我的工具

    • 备忘录清单 (opens new window)
    • json2go (opens new window)
    • gopher (opens new window)
    • 微信MD编辑 (opens new window)
    • 国内镜像 (opens new window)
    • 出口IP查询 (opens new window)
    • 代码高亮工具 (opens new window)
  • 外站页面

    • 开往 (opens new window)
    • ldapdoc (opens new window)
    • HowToStartOpenSource (opens new window)
    • vdoing-template (opens new window)
GitHub (opens new window)
  • 最佳实践

    • 运维最佳实践

      • 一句话经验
      • 基于CNAME解析实践的域名优雅方案
      • 如何配置历史命令中有详细的时间戳
      • 建设一个运维外挂的最佳实践
      • 关于打包压缩几种格式(gzip,bzip2,xz)的试验对比
        • 1,只打包。
        • 2,tar.gz 格式。
        • 3,tar.bz2 格式。
        • 4,tar.xz 格式。
        • 5,总结。
        • 6,其他技巧
      • 利用谷歌浏览器自定义agent监听日志来调试服务
      • fdisk,parted使用非交互式方式对磁盘进行分区操作
      • GitLab部署的最佳实践
      • GitLab全局搜索之SourceGraph
      • vector实践-性能吊打logstash
      • 规范编码之利用pre-commit给项目添加提交前检查
      • CMDB平台建设指南
      • 用上赛博菩萨CNB,咱直接起飞
    • 成本优化实践

  • 迎刃而解

  • Nginx

  • Php

  • Zabbix

  • AWS

  • Prometheus

  • Grafana

  • Loki

  • CentOS

  • Supervisord

  • Systemd

  • Docker

  • Docker-Compose

  • Rancher

  • Ansible

  • OpenLdap

  • GitLab

  • GitHub

  • Etcd

  • Consul

  • RabbitMQ

  • Kafka

  • Mysql

  • MongoDB

  • OpenVPN

  • Kvm

  • VMware

  • 配置文件详解

  • Other

  • 运维观止
  • 最佳实践
  • 运维最佳实践
二丫讲梵
2019-05-29
目录

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

文章发布较早,内容可能过时,阅读注意甄别。

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

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

[root@isj-test-5 mnt]$du -sh *
66M isj-wiki
1
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

对应解压命令为:

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

对应解压命令为:

tar zxf isj-wiki.tar.gz
1

申明

原创文章eryajf,未经授权,严禁转载,侵权必究!此乃文中随机水印,敬请读者谅解。

Copyright 二丫讲梵 (opens new window) 版权所有

# 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

对应解压命令为:

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

对应解压命令为:

tar Jxf isj-wiki.tar.xz
1

image

# 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

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

最后,综合各方考虑,决定选用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
建设一个运维外挂的最佳实践
利用谷歌浏览器自定义agent监听日志来调试服务

← 建设一个运维外挂的最佳实践 利用谷歌浏览器自定义agent监听日志来调试服务→

最近更新
01
学习周刊-总第214期-2025年第23周
06-05
02
学习周刊-总第213期-2025年第22周
05-29
03
学习周刊-总第212期-2025年第21周
05-22
更多文章>
Theme by Vdoing | Copyright © 2017-2025 | 点击查看十年之约 | 浙ICP备18057030号
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式