本章主要介绍了备份的相关操作:
从文件到目录到操作系统的备份方法。
文件的备份(压缩操作)
对文件进行压缩操作的原理
- 在1个字节中如果只存储1,则有7位填充0,可以利用特殊方法去除其中的0.
- 将连续多个1,用数量和1表示。
文件压缩指令: gzip,bzip2,xz (指令的压缩能力逐渐提升,但压缩时间也会增长)这三种指令只能对文件进行压缩,如果用到目录上则会将目录内所有的文件单独压缩。
三者的参数十分相似:
gzip
-v 返回文件的压缩信息
-d 解压缩
-t 检查压缩文件是否有问题
-c 输出文件压缩后的数据到屏幕上(stdout)。
此时有可能会导致屏幕出现乱码,nano重新编辑一个文件然后退出就会恢复(**原因未知**)
**该方法不会将源文件删除**
-# #代表数字,表示压缩等级
保存源文件并得到压缩文件的方法:(将压缩后的信息重定向到text.gz当中发送)
gzip -c text > text.gz
bzip2
-k 保留源文件,如果不加压缩会将源文件删除
-v 返回文件的压缩信息
-d 解压缩
-c 将压缩后的数据输出到屏幕上
-# #代表数字,表示压缩等级
xz
-k -c -t -d 意义同上
增加了-l,显示压缩前后的文件大小,校验方式(check).占用的区块大小
目录的压缩操作
tar是打包操作,主要是将多个文件和目录打包成一个文件。
使用不同的压缩得到不同的名字:.tar 只打包不压缩,这种文件成为tarfile
.tar.gz,.tar.bz2,.tar.xz对应不同的压缩方式,通常成为tarball文件
tar打包的文件都是用相对路径存储。
tar [-z|-j|-J] [cv] -f 压缩后的文件名 要压缩的文件名
tar [-z|-j|-J] [tv] -f 压缩后的文件名
tar [-z|-j|-J] [xv] -f 压缩后的文件名 要压缩的文件名 -C 解压的目录
其中c对应压缩,t是查看压缩,x是解压缩
-P(大写) 使用绝对路径存储,慎用
-p(小写) 将属性和权限进行复制
tar可以实现的操作:
- 将信息存储到磁盘当中
- 进行文件复制到当前文件夹 tar -cvf - /etc | tar -xvf -
SElinux权限问题:(没有讲到)这里在进行压缩/etc之后解压恢复的时候可能导致部分文件无法使用。
文件系统操作
xfsdump备份:
- 只能是xfs文件系统
- 必须是root权限
- 必须挂载
- 使用xfsrestore解析
- 使用uuid来识别文件
xfsdump备份后的文件可以自行设置存储位置,但是还有另一些文件会在/var/lib/xfsdump/inventory中生成,这些文件是用来保证xfsdump的增量备份使用的信息。可以利用xfsdump -I (i的大写)查看。
xfsdump使用的是增量备份:增量备份就是第一次是完整的备份,之后的备份在第一次的基础上修改了哪些文件就备份哪些文件。
xfsdump
-l 显示等级从0-9
-L 设置备份的简介
-M 设置存储空间的简介
-f 得到的备份的名字,通常是.dump,增量的备份.dump1或者.dump.1
-I 返回信息
完整的备份使用0级,增量备份可以使用1级。
只有进行过完整备份才能使用1-9级。
解析操作xfsrestore
对于文件系统恢复,只会覆盖相同名字的文件,新名字的文件不会更改。
xfsrestore
-L session label name在sfsrestore -I中能看到
-i 进入交互模式
-s 解析特定的文件,必须知道文件名,不知道时使用-i操作
-I 和xfsdump的操作相同
-f 接备份文件
-r 进行累计恢复,在一个磁盘中有多个文件系统备份的时候
恢复应该从level0按顺序恢复。
将文件写入到光盘当中:
- 创建镜像文件
- 刻录到cd中
mkisofs产生镜像文件:镜像文件可以是iso结尾,也可能是img结尾
mkisofs
-o 产生的镜像文件
-J 兼容windows的文件名,文件名64个unicode字符。
-r 使用Rock Ridge产生unix/linux的文件,存储更多的信息。
-v 展示产生的过程
-V 产生CD卷标
-m 排除特定的文件
-graft-point 产生目录
- 要使用-r才能记录完整的文件信息。
- 所有文件默认在镜像的根目录下:所以使用-graft-point创建目录-graft-point 镜像中目录=真实目录
- 镜像的挂载通常挂载到/mnt上
刻录操作:wodim
- 找到刻录设备
- 将刻录设备清空
- 对刻录进行格式化
- 进行刻录
wodim --devices dev=/dev/sr0
wodim -v dev=/dev/sr0 blank=[fast|all] fast速度更快,all更完整
wodim -v dev=/dev/sr0 -format 格式化
wodim -v dev=/dev/sr0 [可选功能] 文件.iso
dd 操作从扇区的上进行完全赋值,可以进行磁盘和磁盘分区复制
- 磁盘复制的时候需要修改uuid和log值,然后才能进行挂载
- uuid使用uuidgen生成
- log重置使用xfs_repair -L 重置
dd if= of= bs= count=
if输入文件
of输出文件
bs区块大小,越大速度越快
count区块数量
cpio操作必须和通道以及搜索指令一起使用比如find
cpio -ovcB > [file|device] 备份
cpio -ivcdu > [file|device] 还原
cpio -ivct > [file|device] 查看
-c 新的存储方式
-v 将文件名进行显示
-B 增加block大小到5120Byte
-o 输出操作
-i 输入操作
-d 建立目录
-u 自动将新的文件覆盖旧的文件
-t 意味着查看
备份的操作:
find boot | cpio -ocvB > /tmp/boot.cpio 利用find来提供备份用的文件
rsync -a 进行目录复制。