压缩和归档操作

一、归档备份概述

1.文件归档

将许多零散的文件打包,并记录好各自的位置

−并不压缩其存储空间

−主要起到整理、备案的作用

2.文件压缩

将单个文件按照某种算法重新编码存放

−只针对单个文件

−主要起到降低文件大小、节省磁盘空间的作用

3.归档压缩包

4.归档压缩格式

二、zip压缩工具

1.制作.zip压缩包

zip 备份操作

−用法:zip [-r] 压缩包名被压缩的文档...

先安装命令zip

[root@hadoop ~]# yum install zip
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package zip.x86_64 0:3.0-1.el6_7.1 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

========================================================================================================================
 Package                 Arch                       Version                              Repository                Size
========================================================================================================================
Installing:
 zip                     x86_64                     3.0-1.el6_7.1                        base                     259 k

Transaction Summary
========================================================================================================================
Install       1 Package(s)

Total download size: 259 k
Installed size: 804 k
Is this ok [y/N]: y
Downloading Packages:
zip-3.0-1.el6_7.1.x86_64.rpm                                                                     | 259 kB     00:00     
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing : zip-3.0-1.el6_7.1.x86_64                                                                             1/1 
  Verifying  : zip-3.0-1.el6_7.1.x86_64                                                                             1/1 

Installed:
  zip.x86_64 0:3.0-1.el6_7.1                                                                                            

Complete!
[root@hadoop ~]# ls -lh /etc >ziptest.txt    //建测试文件
[root@hadoop ~]# zip ziptest.zip ziptest.txt    //压缩
  adding: ziptest.txt (deflated 79%)
[root@hadoop ~]# ls -lh ziptest.*
-rw-r--r--. 1 root root 8.1K Apr 29 14:38 ziptest.txt
-rw-r--r--. 1 root root 1.9K Apr 29 14:42 ziptest.zip

2.zip备份应用实例

任务目标

−将目录/etc/init.d和文件install.log 备份为/opt/mybak.zip

[root@hadoop ~]# zip -r /opt/mybak.zip /etc/init.d/ install.log
  adding: etc/init.d/ (stored 0%)
  adding: etc/init.d/rsyslog (deflated 56%)
  adding: etc/init.d/rdisc (deflated 55%)
  adding: etc/init.d/ip6tables (deflated 72%)
  adding: etc/init.d/atd (deflated 62%)
  adding: etc/init.d/lvm2-monitor (deflated 52%)
  adding: etc/init.d/lvm2-lvmetad (deflated 50%)
  adding: etc/init.d/blk-availability (deflated 43%)
  adding: etc/init.d/ntpd (deflated 57%)
  adding: etc/init.d/functions (deflated 67%)
  adding: etc/init.d/sshd (deflated 66%)
  adding: etc/init.d/restorecond (deflated 54%)
  adding: etc/init.d/udev-post (deflated 56%)
  adding: etc/init.d/mysqld (deflated 63%)
  adding: etc/init.d/crond (deflated 64%)
  adding: etc/init.d/auditd (deflated 60%)
  adding: etc/init.d/iptables (deflated 71%)
  adding: etc/init.d/halt (deflated 57%)
  adding: etc/init.d/single (deflated 41%)
  adding: etc/init.d/netconsole (deflated 56%)
  adding: etc/init.d/saslauthd (deflated 57%)
  adding: etc/init.d/network (deflated 65%)
  adding: etc/init.d/sandbox (deflated 56%)
  adding: etc/init.d/netfs (deflated 67%)
  adding: etc/init.d/ntpdate (deflated 51%)
  adding: etc/init.d/postfix (deflated 62%)
  adding: etc/init.d/killall (deflated 45%)
  adding: install.log (deflated 73%)

3.释放.zip压缩包

unzip 解压操作−用法:unzip [-d 目标文件夹] .zip压缩包

安装命令

[root@hadoop ~]# yum install unzip
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package unzip.x86_64 0:6.0-5.el6 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

========================================================================================================================
 Package                    Arch                        Version                         Repository                 Size
========================================================================================================================
Installing:
 unzip                      x86_64                      6.0-5.el6                       base                      152 k

Transaction Summary
========================================================================================================================
Install       1 Package(s)

Total download size: 152 k
Installed size: 324 k
Is this ok [y/N]: y
Downloading Packages:
unzip-6.0-5.el6.x86_64.rpm                                                                       | 152 kB     00:00     
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing : unzip-6.0-5.el6.x86_64                                                                               1/1 
  Verifying  : unzip-6.0-5.el6.x86_64                                                                               1/1 

Installed:
  unzip.x86_64 0:6.0-5.el6                                                                                              

Complete!
[root@hadoop ~]# unzip -d zdir/ ziptest.zip    //释放到指定目录
Archive:  ziptest.zip
  inflating: zdir/ziptest.txt        
[root@hadoop ~]# ls zdir/
ziptest.txt
[root@hadoop ~]# cd /opt/
[root@hadoop opt]# unzip /opt/mybak.zip    //释放到当前目录
Archive:  /opt/mybak.zip
   creating: etc/init.d/
  inflating: etc/init.d/rsyslog      
  inflating: etc/init.d/rdisc        
  inflating: etc/init.d/ip6tables    
  inflating: etc/init.d/atd  

三、gzip/bzip2/xz压缩工具

1.制作.gz压缩包

gzip压缩操作

−用法:gzip[-9] 文件名...

-分别压缩每个文件,原始文件不保留

[root@hadoop opt]# ls -lh /etc/ >gztest.txt    //建测试文件
[root@hadoop opt]# gzip gztest.txt    //压缩
[root@hadoop opt]# ls -lh gztest.txt*
-rw-r--r--. 1 root root 1.8K Apr 29 14:51 gztest.txt.gz

2.释放.gz压缩包

gunzip解压操作

−用法1:gunzip.gz压缩包.. ..

−用法2:gzip-d .gz压缩包.. ..

−分别解压每个.gz包文件,原始文件不保留

[root@hadoop opt]# gzip -d gztest.txt.gz    //解压缩
[root@hadoop opt]# ls -lh gztest.txt*
-rw-r--r--. 1 root root 8.1K Apr 29 14:51 gztest.txt

3.bzip2与bunzip2

4.xz与unxz

四、tar归档及压缩

1.制作.tar归档包

tar 制作备份

−用法:tar -cf.tar归档包名被归档的文件.. ..

−逐一复制并归档,原始文件保留

−选项含义:-c 创建、-v 细节、-P 保留根路径、-f 归档

[root@hadoop opt]# tar -cf slbak.tar /etc/selinux    //新建归档
tar: Removing leading `/' from member names
[root@hadoop opt]# tar -tf slbak.tar    //查看归档内容
etc/selinux/
etc/selinux/restorecond_user.conf
etc/selinux/config

2.释放.tar归档包

tar 释放备份

−用法:tar -xf.tar归档包[-C 目标目录]

−解包并逐一提取,原始文件保留

−选项含义:-x 释放、-C 存放的目标位置

[root@hadoop opt]# tar -xf slbak.tar -C /opt/    //释放归档到指定目录
[root@hadoop opt]# ls /opt/etc/selinux/
config  restorecond.conf  restorecond_user.conf  semanage.conf  targeted

3.归档+压缩的整合

 

4.备份应用实例

任务目标

−将/etc和/srv目录备份为/opt/etcsrv.tar.gz 文件

−保留原始文档的根路径(-P)、权限等属性(-p)

[root@hadoop opt]# tar -zcpPf /opt/etcsrv.tar.gz /etc/ /srv/
[root@hadoop opt]# ls -lh /opt/etcsrv.tar.gz
-rw-r--r--. 1 root root 8.1M Apr 29 15:02 /opt/etcsrv.tar.gz
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lambda-小张

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值