备份与恢复文档

    linux系统中叫常用的压缩命令工具包括gzip、bzip2,常用的归档命令工具为tar。使用tar命令可以通过特定选项自动调用gzip或bzip2程序,已完成归档、压缩的整套流程,当然也可以完成解压、释放已归档的整套流程。

    1、使用压缩和解压缩工具

    gzip和bzip2是linux系统中使用最多的两个压缩工具,这两个命令都可以压缩指定的文件,或者将已经压缩过的文件进行解压。两者使用的压缩算法各不相同,但命令使用格式基本类似,一般来说bzip2的压缩效率要好一些。

    1)gzip和gunzip命令

     使用gzip制作的压缩文件默认的扩展名为“.gz”。制作压缩文件时,使用“-g”选项可以提高压缩比率,但文件较大时会需要更多的时间。例如,以下操作将对当前目录下的mkfile文件进行压缩,生成压缩文件mkfile.gz(原始文件mkfile不再保留)。

[root@localhost ~]# ls -lh mkfile
-rw-r--r--. 1 root root 10M Jan 21 22:15 mkfile
[root@localhost ~]# gzip mkfile
[root@localhost ~]# ls -lh mkfile*
-rw-r--r--. 1 root root 10K Jan 21 22:15 mkfile.gz

    当需要解压缩经gzip压缩的文件时,只需使用带“-d”选项的gzip命令即可,或者直接使用gunzip命令。例如若要将压缩文件mkfile.gz进行解压缩,可执行以下操作。

[root@localhost ~]# gzip -d mkfile.gz   或者     [root@localhost ~]# gunzip mkfile.gz

     2)bzip2和bunzip2命令

      bzip2和bunzip2命令的用法与gzip、gunzip命令基本相同,使用bzip2制作的压缩文件默认的扩展名为“.bz2”。例如,以下操作将对当前目录下的mkfile文件一较高压缩比进行压缩,生成压缩文件mkfile.bz2(原始文件mkfile不在保留)。

[root@localhost ~]# ls -lh mkfile*
-rw-r--r--. 1 root root 10M 1月 22 21:55 mkfile
[root@localhost ~]# bzip2 -9 mkfile
[root@localhost ~]# ls -lh mkfile*
-rw-r--r--. 1 root root 49 1月 22 21:55 mkfile.bz2

    2.使用tar归档和释放工具

    tar命令主要用于对目录和文件进行归档,在实际的备份工作中,通常在归档的同时也会将包文件进行压缩(需要调用前面的gzip或bzip2命令),以便节省磁盘空间。使用tar命令时,选项前的“-”号可以省略。常用的几个选项如下所述。

     -c:创建(Caeate).tar格式的包文件

     -C:解压时指定释放的目标文件夹

     -f:表示使用归档文件

     -j:调用bzip2程序进行压缩或解压

     -p:打包时保留文件及目录的权限

     -P:打包时保留文件及目录的绝对路径

     -t:列表查看包内的文件

     -v:输出详细信息(Verbose)

     -x:解开.tar格式的包文件

     -z:调用gzip程序进行压缩或解压

      1)制作归档备份文件

      制作归档及压缩(备份)文件时,tar命令的基本格式如下所示。

      tar    [选项]   ...   归档及压缩文件名      需要归档的源文件或目录

      如果需要对制作的归档文件进行压缩,可以通过“-z”或“-j”选项自动调用压缩工具(分别对应gzip、bzip2命令程序)进行压缩。列如,以下操作将会对/etc/和/boot目录进行备份,在当前下生成名为sysfile.tar.gz的归档压缩包,执行过程中可以看到被归档的文件列表信息。

[root@localhost ~]# tar zcf sysfile.tar.gz /etc /boot

tar: 从成员名中删除开头的“/”
[root@localhost ~]# ls -lh sysfile.tar.gz
-rw-r--r--. 1 root root 32M 1月 22 23:25 sysfile.tar.gz

     如需要制作“。tar.bz2”格式的归档压缩包,则将“-z”选项改为“-j”选项使用即可。例如,以下操作将会对/home目录及/etc/passwd、/etc/shadow文件进行备份,在/tmp目录下生成名为usershome.tar.bz2归档压缩包。

[root@localhost ~]# tar jcf /tmp/usershome.tar.bz2 /home /etc/passwd /etc/shadow 

tar: 从成员名中删除开头的“/”
[root@localhost ~]# ls -lh /tmp/usershome.tar.bz2
-rw-r--r--. 1 root root 1.2K 1月 22 23:29 /tmp/usershome.tar.bz2

      2)从归档文件中恢复数据

         解压并释放(恢复)归档压缩包文件时,tar命令的基本格式如下所示。

         tar      [选项]  ...  归档及压缩文件名   [-C 目标目录]  

        类似地,当从“.tar.gz”格式的归档压缩包恢复数据时,需要结合“-z”选项来自动调用压缩工具,而对于“.tar.bz2”格式的归档压缩包,对应的是“-j”选项。默认情况下,恢复出的数据将释放到当前目录中,如果需要恢复到指定文件夹,还需要结合“-C”选项来指定目标目录。例如,以下操作将从备份文件usershome.tar.bz2中恢复数据,释放到目录下(将覆盖现有文件)。

       [root@localhost ~]# tar jxf /tmp/usershome.tar.bz2 -C /

 

    

posted on 2017-01-21 23:35  黑夜下的半张脸  阅读(177)  评论(0)    收藏  举报

导航