Linux压缩打包

gzip可以解开compress、zip、gzip等软件所压缩的文件、

gzip [option] 文件名

  -c:将压缩的数据输出到屏幕,可通过数据重定向来处理

  -d:解压缩

  -t:可以用来检验一个压缩文件的一致性

  -v:可以显示出原文件/压缩文件的压缩比等信息

  -#:#为数字,代表压缩等级,-1位最快但是压缩比最低,-9最慢压缩比最高,默认为-6

使用zcat zmore zless可以查看压缩文件的内容,如果需要从文字压缩文件当中找数据的话,可以通过egrep来搜寻关键字

如果有备份数据使用的是compress创建出来的.Z文件,使用znew可以将文件转成gzip格式

 

bzip2是为了取代gzip并提供更佳的压缩比而来的

bzip2 [option] 文件名

  -c:同gzip

  -d:解压缩

  -k:保留原始文件,不会删除原始文件

  -z:压缩参数

  -v:同gzip

  -#:同gzip

 

压缩比更高的xz

xz [option] 文件名

  -d:解压缩

  -t:测试压缩文件的完整性

  -l:列出压缩文件的相关信息

  -k:保留原文件

  -c:同gzip

  -#:同gzip

 

tar:将多个目录或文件打包成一个大文件,同时还支持gzip bzip2 xz ,将该文件同时进行压缩

tar [-z -j -J] [cv] [-f 待创建的新文件名] filename 打包

tar [-z -j -J] [tv] [-f 已有的tar文件名] 查看

tar [-z -j -J] [xv] [-f 已有的tar文件名] [-C 目录]    解压

  -c:创建打包文件,-v查看过程

  -t:查看打包文件的内容

  -x:解压缩,可以搭配-C在特定目录解压

  -z:gzip压缩

  -j:bzip2压缩

  -J:xz压缩

  -p:保留备份数据的原本权限和属性,常用于备份重要的配置文件

  -P:保留绝对路径(一般为保留根目录/,较为危险)

  -exclude=FILE:压缩过程中,不要将FILE打包

只想要解压打包文件内的其中一个文件,使用-jtv找到想要解压缩的文件名,然后解压

1、tar -jtvf 压缩文件 | grep 解压缩文件

2、tar -jxvf 压缩文件 解压缩文件

打包某目录,但不包含某些文件

tar -jcvf 打包文件名 --exclude=FILE --exclude=打包文件名 待打包文件

仅备份比某天个时刻还要新的文件

  --newer-mtime 包含mtime和ctime

  --newer 包含mtime

 

xfsdump:进行文件系统的完整备份,还可以进行累积备份(新备份的数据只会记录第一次完整备份所有差异的文件)

1、xfsdump不支持没有挂载的文件系统备份,只能备份已挂载的

2、xfsdump必须使用root权限才能操作

3、xfsdump只能备份XFS文件系统

4、xfsdump备份下来的数据只能让xfsrestore解析

5、xfsdump是通过文件系统的UUID来分辨各个备份文件的,因此不能备份两个具有相同UUID的文件系统

xfsdump [-L S_label] [-M M_label] [-l #] [-f 备份文件] 待备份数据

  -L:填写简要说明

  -M:记录储存媒体的标头,这里可以填写此媒体的简要说明

  -l:指定等级,0~9共10个等级

  -f:类似tar,后面接产生的文件,亦可接例如/dev/st0设备文件名或其他一般文件名等

  -I:从/var/lib/xfsdump/inventory列出目前备份的信息状态

xfsdump仅支持文件系统的备份

 

xfsrestore文件系统还原

xfsrestore -I 查看备份文件数据

xfsrestore [-f 备份文件] [-L S_label] [-s] 待复原目录  单一文件全系统复原

xfsrestore [-f 备份文件] -r 待复原目录  通过累积备份文件来复原系统

xfsrestore [-f 备份文件] -i 待复原目录 进入互动模式

  -I:查询备份数据

  -f:后面接备份文件

  -L:Label name

  -s:接特定目录,仅复原某一个文件或目录

  -r:如果是用文件来储存备份数据,那这个就不需要使用。如果是一个磁带内有多个文件,需要这东西来达成累积复原

  -i:互动模式

 

dd可以读取磁盘设备的内容,然后将整个设备备份成一个文件

dd if="input_file" of="output_file" bs="block_size" count="number"

  bs默认为512Bytes\

范例:将/etc/passwd备份到/tmp/passwd.back中

dd if=/etc/passwd of=/tmp/passwd.back

 

[root@localhost ~]# dd if=/etc/passwd of=/tmp/passwd.back
3+1 records in
3+1 records out
1643 bytes (1.6 kB) copied, 0.000341135 s, 4.8 MB/s

文件大小为1643bytes,bs为512bytes,共占用了4个block

 

posted @ 2018-07-16 15:34  jackpod  阅读(276)  评论(0编辑  收藏  举报