备份与恢复文档
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 /
浙公网安备 33010602011771号