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张图片

三、测试单一文件系统(分区)增量备份

1、在/boot目录内新建一个10MB的文件。

dd   if=/dev/zero  of=/boot/test.log    bs=1M   count=10

2、增量备份/boot分区,同时更新记录文件。

dump -1  -u -f /root/boot.dump.1  /boot

3、查看备份文件容量,和新建的文件大小一样。

ll  /root/boot.*

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

dump -W

Linux备份还原数据( dump、restore)_第2张图片

四、测试(目录)备份

  • 备份目录仅支持完整备份,不支持‘-u’参数,无法创建备份时间记录。

1、创建需要备份的目录。

mkdir  -p  /test/dict/dict1
cd   /test/dict/
mkdir   dict2   dict3 
touch  1.txt  2.txt  3.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)_第3张图片

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)_第4张图片
Linux备份还原数据( dump、restore)_第5张图片

三、restore查看模式

1、查看单一文件系统(分区)备份内容。

restore -t -f  /root/boot.dump.1

Linux备份还原数据( dump、restore)_第6张图片
2、查看目录备份内容。

Linux备份还原数据( dump、restore)_第7张图片

四、restore还原模式

  • 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)_第8张图片
Linux备份还原数据( dump、restore)_第9张图片

目录还原。
1、新建准备还原的目录。

mkdir   /data/restoredict

2、进入准备还原的目录,还原完全备份的数据/root/boot.dump。还原后数据与实际文件系统数据如下图。

cd  /data/restoredict
restore  -r  -f /root/dict.dump.bz2

Linux备份还原数据( dump、restore)_第10张图片
Linux备份还原数据( dump、restore)_第11张图片

你可能感兴趣的:(Linux备份还原)