Linux restore命令用来还原由dump操作所备份下来的文件或整个文件系统(一个分区)。restore 指令所进行的操作和dump指令相反,dump操作可用来备份文件,而restore操作则是写回这些已备份的文件。可以从完整或部分备份中恢复单个文件和目录子树。
比较变化参数-C只可以比较出更新或者删除的数据变化,在备份后新增的文件无法比较出来。
[root@s135 ~]# restore -C -f boot.bak.bz2
Dump tape is compressed.
Dump date: Fri Jul 30 16:16:41 2021
Dumped from: the epoch
Level 0 dump of /boot on s135:/dev/sda1
Label: none
filesys = /boot
[root@s135 ~]# rm -rf /boot/symvers-3.10.0-957.el7.x86_64.gz
[root@s135 ~]# restore -C -f boot.bak.bz2
Dump tape is compressed.
Dump date: Fri Jul 30 16:16:41 2021
Dumped from: the epoch
Level 0 dump of /boot on s135:/dev/sda1
Label: none
filesys = /boot
restore: unable to stat ./symvers-3.10.0-957.el7.x86_64.gz: No such file or directory
Some files were modified! 1 compare errors
[root@s135 ~]# restore -t -f boot.bak.bz2
Dump tape is compressed.
Dump date: Fri Jul 30 16:16:41 2021
Dumped from: the epoch
Level 0 dump of /boot on s135:/dev/sda1
Label: none
2 .
11 ./lost+found
12 ./efi
13 ./efi/EFI
14 ./efi/EFI/centos
8193 ./grub2
24 ./grub2/device.map
25 ./grub2/i386-pc
27 ./grub2/i386-pc/testload.mod
29 ./grub2/i386-pc/cbtable.mod
31 ./grub2/i386-pc/normal.mod
32 ./grub2/i386-pc/legacy_password_test.mod
…
22 ./initramfs-0-rescue-c0886fb731a041bb9fee61901f7b6427.img
23 ./vmlinuz-0-rescue-c0886fb731a041bb9fee61901f7b6427
333 ./initramfs-3.10.0-957.el7.x86_64kdump.img
restore -r -f /root/boot.bak.bz2全量备份还原
[root@s135 boot]# ll
总用量 106440
-rw-r–r--. 1 root root 151918 11月 9 2018 config-3.10.0-957.el7.x86_64
drwxr-xr-x. 3 root root 4096 7月 30 15:56 efi
drwxr-xr-x. 2 root root 4096 7月 30 15:57 grub
drwx------. 5 root root 4096 7月 30 16:03 grub2
-rw-r–r--. 1 root root 15 7月 30 16:13 hi.txt
-rw-------. 1 root root 57412428 7月 30 16:01 initramfs-0-rescue-c0886fb731a041bb9fee61901f7b6427.img
-rw-------. 1 root root 21379638 7月 30 16:03 initramfs-3.10.0-957.el7.x86_64.img
-rw-------. 1 root root 13176073 7月 30 16:05 initramfs-3.10.0-957.el7.x86_64kdump.img
drwx------. 2 root root 16384 7月 30 15:56 lost+found
-rw-------. 1 root root 3543471 11月 9 2018 System.map-3.10.0-957.el7.x86_64
-rwxr-xr-x. 1 root root 6639904 7月 30 16:01 vmlinuz-0-rescue-c0886fb731a041bb9fee61901f7b6427
-rwxr-xr-x. 1 root root 6639904 11月 9 2018 vmlinuz-3.10.0-957.el7.x86_64
[root@s135 boot]# restore -r -f /root/boot.bak.bz2
Dump tape is compressed.
restore: ./lost+found: File exists
restore: ./efi: File exists
restore: ./efi/EFI: File exists
restore: ./efi/EFI/centos: File exists
restore: ./grub2: File exists
restore: ./grub2/i386-pc: File exists
restore: ./grub2/locale: File exists
restore: ./grub2/fonts: File exists
restore: ./grub: File exists
#创建还原临时目录
[root@s135 ~]# mkdir bootdir
[root@s135 ~]# cd bootdir/
#首先完成全量备份还原
[root@s135 bootdir]# restore -r -f /root/boot.bak.bz2
Dump tape is compressed.
[root@s135 bootdir]# ll
总用量 106876
-rw-r–r--. 1 root root 151918 11月 9 2018 config-3.10.0-957.el7.x86_64
drwxr-xr-x. 3 root root 4096 7月 30 15:56 efi
drwxr-xr-x. 2 root root 4096 7月 30 15:57 grub
drwx------. 5 root root 4096 7月 30 16:03 grub2
-rw-------. 1 root root 57412428 7月 30 16:01 initramfs-0-rescue-c0886fb731a041bb9fee61901f7b6427.img
-rw-------. 1 root root 21379638 7月 30 16:03 initramfs-3.10.0-957.el7.x86_64.img
-rw-------. 1 root root 13176073 7月 30 16:05 initramfs-3.10.0-957.el7.x86_64kdump.img
drwx------. 2 root root 4096 7月 30 15:56 lost+found
-rw-------. 1 root root 144136 8月 2 10:41 restoresymtable
-rw-r–r--. 1 root root 314036 11月 9 2018 symvers-3.10.0-957.el7.x86_64.gz
-rw-------. 1 root root 3543471 11月 9 2018 System.map-3.10.0-957.el7.x86_64
-rwxr-xr-x. 1 root root 6639904 7月 30 16:01 vmlinuz-0-rescue-c0886fb731a041bb9fee61901f7b6427
-rwxr-xr-x. 1 root root 6639904 11月 9 2018 vmlinuz-3.10.0-957.el7.x86_64
#然后还原增量备份
[root@s135 bootdir]# restore -r -f /root/boot.bak1.bz2
Dump tape is compressed.
[root@s135 bootdir]# ll
总用量 106880
-rw-r–r--. 1 root root 151918 11月 9 2018 config-3.10.0-957.el7.x86_64
drwxr-xr-x. 3 root root 4096 7月 30 15:56 efi
drwxr-xr-x. 2 root root 4096 7月 30 15:57 grub
drwx------. 5 root root 4096 7月 30 16:03 grub2
-rw-r–r--. 1 root root 15 7月 30 16:13 hi.txt
-rw-------. 1 root root 57412428 7月 30 16:01 initramfs-0-rescue-c0886fb731a041bb9fee61901f7b6427.img
-rw-------. 1 root root 21379638 7月 30 16:03 initramfs-3.10.0-957.el7.x86_64.img
-rw-------. 1 root root 13176073 7月 30 16:05 initramfs-3.10.0-957.el7.x86_64kdump.img
drwx------. 2 root root 4096 7月 30 15:56 lost+found
-rw-------. 1 root root 144208 8月 2 10:44 restoresymtable
-rw-r–r--. 1 root root 314036 11月 9 2018 symvers-3.10.0-957.el7.x86_64.gz
-rw-------. 1 root root 3543471 11月 9 2018 System.map-3.10.0-957.el7.x86_64
-rwxr-xr-x. 1 root root 6639904 7月 30 16:01 vmlinuz-0-rescue-c0886fb731a041bb9fee61901f7b6427
-rwxr-xr-x. 1 root root 6639904 11月 9 2018 vmlinuz-3.10.0-957.el7.x86_64
#创建还原临时目录
[root@s135 ~]# mkdir bootdir
#进入交互模式
[root@s135 bootdir]# restore -i -f /root/boot.bak.bz2
Dump tape is compressed.
#获取交互式下的命令帮助
restore > help
Available commands are:
ls [arg] - list directory
cd arg - change directory
pwd - print current directory
add [arg] - addarg' to list of files to be extracted delete [arg] - delete
arg’ from list of files to be extracted
extract - extract requested files
setmodes - set modes of requested directories
quit - immediately exit program
what - list dump header information
verbose - toggle verbose flag (useful with ``ls’’)
prompt - toggle the prompt display
help or?' - print this list If no
arg’ is supplied, the current directory is used
#列出备份文件中的内容
restore > ls
.:
.vmlinuz-3.10.0-957.el7.x86_64.hmac
System.map-3.10.0-957.el7.x86_64
config-3.10.0-957.el7.x86_64
efi/
grub/
grub2/
initramfs-0-rescue-c0886fb731a041bb9fee61901f7b6427.img
initramfs-3.10.0-957.el7.x86_64.img
initramfs-3.10.0-957.el7.x86_64kdump.img
lost+found/
symvers-3.10.0-957.el7.x86_64.gz
vmlinuz-0-rescue-c0886fb731a041bb9fee61901f7b6427
vmlinuz-3.10.0-957.el7.x86_64
#将config-3.10.0-957.el7.x86_64文件添加到还原列表
restore > add config-3.10.0-957.el7.x86_64
#开始原因
restore > extract
You have not read any volumes yet.
Unless you know which volume your file(s) are on you should start
with the last volume and work towards the first.
Specify next volume # (none if no more volumes): 1
set owner/mode for ‘.’? [yn] n
restore > quit
[root@s135 bootdir]# ls
config-3.10.0-957.el7.x86_64
#restore [模式] [选项]
参数 | 参数说明 |
---|---|
-C | 比较备份数据和实际数据的变化 |
-i | 进入交互模式手动指定需要恢复的文件 |
-P | 还原从现有转储文件创建新的快速文件访问文件,而不还原其内容 |
-R | 全面还原文件系统时,检查应从何处开始进行。 |
-r | 还原模式,用于数据还原 |
-t | 查看模式,查看备份文件中的数据 |
-x | 设置文件名称,且从指定的存储媒体里读入它们,若该文件已存在在备份文件中,则将其还原到文件系统内。 |
参数 | 参数说明 |
---|---|
-b<区块大小> | 设置区块大小,单位是Byte。 |
-c | 不检查dump操作的备份格式,仅准许读取使用旧格式的备份文件。 |
-D<文件系统> | 允许用户指定文件系统的名称。 |
-f<备份文件> | 从指定的文件中读取备份数据,进行还原操作。 |
-h | 仅解出目录而不包括与该目录相关的所有文件。 |
-m | 解开符合指定的inode编号的文件或目录而非采用文件名称指定。 |
-s<文件编号> | 当备份数据超过一卷磁带时,您可以指定备份文件的编号。 |
-v | 显示指令执行过程。 |
-y | 不询问任何问题,一律以同意回答并继续执行指令。 |
如果您发现该资源为电子书等存在侵权的资源或对该资源描述不正确等,可点击“私信”按钮向作者进行反馈;如作者无回复可进行平台仲裁,我们会在第一时间进行处理!
添加我为好友,拉您入交流群!
请使用微信扫一扫!