Linux备份还原数据( dump、restore)

Linux系统本机数据备份(完整、增量备份)和还原( dump、restore)

文章目录

  • dump命令:备份分区或目录
    • 一、dump命令
    • 二、测试单一文件系统(分区)完整备份
    • 三、测试单一文件系统(分区)增量备份
    • 四、测试(目录)备份
  • restore命令:还原dump操作备份下的分区或目录
    • 一、restore命令
    • 二、restore比对模式
    • 三、restore查看模式
    • 四、restore还原模式

dump命令:备份分区或目录 一、dump命令 1、安装dump备份工具。
yum -y install dump

2、dump命令格式。
dump [参数] 备份后的文件名 需要备份的文件
3、参数说明。
参数 说明
-level 备份级别0~9。0表示完整备份;大于0表示增量备份,默认是0。备份某个文件或不是分区的目录时,仅支持完整备份即0级备份。
-D 设置文件的路径名,该文件存储有关前一个完整转储和增量转储的信息。默认位置是/etc/dumpdate。
-e 从转储中排除的索引节点。,inodes是一个逗号分隔的inode编号列表。
-E 从文本文件中读取备份时要排除的inode列表。
-f 将备份写入文件,也可接设备文件名如/dev/st0。
-j 使用bzip2压缩数据,默认压缩级别为2。
-Q 启用快速文件访问支持。
-s 试图计算在特定密度下所需的磁带数量。如果超过此数量,则转储提示输入新磁带。默认的磁带长度是2300英尺。
-S 在没有实际执行转储的情况下计算转储所需的空间。这对于增量转储非常有用,可以确定需要多少卷媒介。
-T 指定备份的日期。使用指定的日期作为转储的开始时间,而不是从查看/etc/dumpdates中确定的时间。此选项对于希望在特定时间内转储的自动转储脚本非常有用。-T选项与-u选项相互排斥。
-u 备份完成后,在/etc/dumpdates中记录备份的文件系统、日期。
-v 显示dump过程详细的信息。
-W 显示出最近的备份时间、层级,检测需要备份的文件。当W选项出现时,其他的选项都被忽略。。-W选项会将”/etc/dumpdates”中的所有文件系统和”/etc/mtab”中的所有文件系统以及在”/etc/fstab”中识别的文件系统打印出来。
-w 类似于“-W”,但只在“/etc/mtab”和“/etc/fstat”中打印需要转储的可识别的文件系统。
二、测试单一文件系统(分区)完整备份 1、查看磁盘使用情况。
df -h

2、估算备份/boot所需空间。
dump -S/dev/sda1

3、完整备份/boot分区,同时更新记录文件。
dump -0-u-f /root/boot.dump/boot

4、查看完整备份文件、记录文件的创建时间和备份记录的时间。
ls -l/etc/dumpdates/root/boot.dump cat /etc/dumpdates

Linux备份还原数据( dump、restore)
文章图片

三、测试单一文件系统(分区)增量备份 1、在/boot目录内新建一个10MB的文件。
ddif=/dev/zeroof=/boot/test.logbs=1Mcount=10

2、增量备份/boot分区,同时更新记录文件。
dump -1-u -f /root/boot.dump.1/boot

3、查看备份文件容量,和新建的文件大小一样。
ll/root/boot.*

4、查看增量备份时间及备份级别。
dump -W

Linux备份还原数据( dump、restore)
文章图片

四、测试(目录)备份
  • 备份目录仅支持完整备份,不支持‘-u’参数,无法创建备份时间记录。
1、创建需要备份的目录。
mkdir-p/test/dict/dict1 cd/test/dict/ mkdirdict2dict3 touch1.txt2.txt3.txt

2、完整备份此目录。
dump -0-j -f/root/dict.dump.bz2/test/dict/

3、备份目录仅支持完整备份,不支持‘-u’参数,无法创建备份时间记录,所以如下两条命令(增量备份和创建备份时间记录)备份均失败。测试过程如下图。
dump -1 - j -f /root/dict.dump.1.bz2/test/dict/ dump -0 -u-j-f/root/dict.dump.bz2/test/dict/

Linux备份还原数据( dump、restore)
文章图片

restore命令:还原dump操作备份下的分区或目录 一、restore命令 1、restore 命令的格式。
restore [模式] [参数]
2、restore 命令的常用模式。
模式 说明
-C 比对模式,比较备份数据和实际数据的变化。最终会列出‘在dump文件内有记录,且目前文件系统不一样’的文件。数据比较只有在原有数据减少或发生变化时才能检测到变化,而新增的数据是不会被检测到的。
-i 交互模式,可以仅还原部分文件,用在dump目录的还原。
-t 查看模式,用于查看备份文件中拥有哪些数据。
-r 还原模式,用于数据还原。
-D 与-C搭配,查出‘-D’(参数)后面接的挂载点与dump文件内不同的文件。
-h (参数)查看完整备份数据中的inode与文件系统label等信息。
-f (参数)后面接要还原的那个dump文件。
二、restore比对模式 1、restore比对模式。数据比较只有在原有数据减少或发生变化时才能检测到变化,而新增的数据是不会被检测到的。
2、在/boot挂载点新增了一个文件111111.txt。
touch/root/111111.txt

3、备份dump文件内容与实际文件系统比较,检测不到变化。
restore -C -f/root/boot.dump.1

4、备份dump文件内容与/boot挂载点比较,检测不到变化。
restore -C -f/root/boot.dump.1-D /boot

5、在/boot实际文件系统中,往test.log文件追加内容。
echo "2222222" >> test.log

6、备份dump文件内容与实际文件系统比较,发现test.log文件尺寸放生变化,有文件修改过。
restore -C -f/root/boot.dump.1

7、备份dump文件内容与/boot挂载点比较,发现test.log文件尺寸放生变化,有文件修改过。
restore -C -f/root/boot.dump.1-D /boot

Linux备份还原数据( dump、restore)
文章图片

Linux备份还原数据( dump、restore)
文章图片

三、restore查看模式 1、查看单一文件系统(分区)备份内容。
restore -t -f/root/boot.dump.1

Linux备份还原数据( dump、restore)
文章图片

2、查看目录备份内容。
Linux备份还原数据( dump、restore)
文章图片

四、restore还原模式
  • restore 命令的还原模式既可以用于还原整个分区,也可以用于还原目录。不过要注意,如果要还原增量备份的数据,则一定要先还原完整备份的数据。
单一文件系统(分区)还原。
【Linux备份还原数据( dump、restore)】1、新建准备还原的目录。如果这个目录是我新建的分区,也可以直接把数据恢复到分区中。
mkdir/data/restoreboot

2、进入准备还原的目录,先还原完全备份的数据/root/boot.dump,再还原 /root/boot.dump.1增量备份。还原后数据与实际文件系统数据如下图。
cd/data/restoreboot/ restore-r-f /root/boot.dump restore-r-f /root/boot.dump.1

Linux备份还原数据( dump、restore)
文章图片

Linux备份还原数据( dump、restore)
文章图片

目录还原。
1、新建准备还原的目录。
mkdir/data/restoredict

2、进入准备还原的目录,还原完全备份的数据/root/boot.dump。还原后数据与实际文件系统数据如下图。
cd/data/restoredict restore-r-f /root/dict.dump.bz2

Linux备份还原数据( dump、restore)
文章图片

Linux备份还原数据( dump、restore)
文章图片

    推荐阅读