1.数据备份简介

1.1 linux服务器中那些数据需要备份

1.1Linux服务器的重要数据

/root/目录:
/home/目录:
/var/spool/mail/目录:
/etc/目录:

1.2安装服务的数据

例如RPM包安装Apache
配置文件
网页主目录
日志文件
如是源码包安装的Apache
只需要备份/usr/local/apache2/目录中的数据即可

1.2备份策略

1.2.1 完全备份

所有文件全部备份

1.2.2 增量备份

先进行一次完全备份,服务器运行一段时间后,比较当前系统和完全备份的备份数据之间的差异,只备份有差异的数据,第三次就比较当前系统和第一次完全备份和第二次增加的备份之和

1.2.3 差异备份

与增量备份的一样,区别就是比较的参照一直都是第一次的完全备份数据

2 备份命令

2.1dump命令

用来备份分区和数据

  1. dump [选项] 备份之后的文件名 源文件或目录

选项:
-level 就是我们说的0~9共十个备份级别(只要不是备份分区,就只能使用0级别进行完全备份而不支持增量 份)
-f 文件名 指定备份之后的文件名
-u 本分成功后,把备份时间记录在/etc/dumpdates文件中
-v 显示备份过程中更多的输出信息
-j 调用bzlib库压缩备份文件,其实就是备份文件压缩为.bz2格式,默认压缩等级是2
-w 显示允许被dump的分区的备份等级及备份时间

image.png

2.2 restore命令

是dump的配套命令,restore命令是用来恢复数据的

  1. restore [模式选项] [选项]

模式选项:
-C 比较备份数据和实际数据的变化
-i 进入交互模式,手工选择需要恢复的文件
-t 查看模式 用于查看备份文件中拥有哪些数据
-r 还原模式,用于数据还原
选项:
-f 指定备份文件的文件名

3 备份命令dd

dd命令主要用来进行数据备份,并且可以在备份的过程中进行格式转换。其实dd命令可以把源数据复制成目标数据,而且不管源数据是文件、分区、磁盘、还是光盘都可以进行数据备份

  1. dd if="输入文件" of="输出文件" bs="数据块" count="数量"

参数:
if 定义输入数据的文件,也可以是输入设备
of 定义输出数据的文件,也可以是输出设备
bs 指定数据块的大小,也可以定义一次性读取或写入多少字节。默认数据块大小是512字节
count 指定bs的数量
couv=标志:依据标志的转换文件
标志有以下这些
ascii 由EBCDIC码转换至ASCII码
ebcdic 由ASCII码装换至EBCDIC码
ibm 由ASCII码转换至替换的EBCDIC码
block 将结束字符块里的换行替成等长的空格
unblock 将cbs大小的块中尾部的空格替换为一个换行符
lcase 将大写字符转换为小写
notrunc 不截断输出文件
ucase 将小写字符转换为大写
swab 交换每一对输入数据字节
noerror 读取数据发生错误仍然继续
sync 将每个输入数据块以NUL字符填满至ibs的大小;当配合block或unblock时,会以空格代替NUL 字符填充