linux怎么还原bak文件,Linux restore命令:还原dump操作备份下的文件、目录或分区...

linux怎么还原bak文件,Linux restore命令:还原dump操作备份下的文件、目录或分区...

restore 命令是 dump 命令的配套命令,dump 命令是用来备份分区和数据的,而 restore 命令是用来恢复数据的。

restore 命令的基本格式如下:

[root@localhost ~]# restore [模式选项] [-f]

此命令中,-f 选项用于指定备份文件的文件名;restore 命令常用的模式有以下 4 种,这 4 种模式不能混用:

-C:比较备份数据和实际数据的变化。如果实际数据中的现有数据发生了变化,那么这个选项能够检测到这个变化。但是如果实际数据中新增了数据,那么这个选项是不能检测到变化的。举个例子:别人给我了 100 万元投资(实际数据),但是他有一个投资的账本(备份数据),他要时不时地比对账本和实际的 100 万元投资,如果 100 万元减少则马上就能发现改变;但是如果投资增加,则不会报警;

-i:进入交互模式,手工选择需要恢复的文件;

-t:查看模式,用于查看备份文件中拥有哪些数据;

-r:还原模式,用于数据还原;

【例 1】比较备份数据和实际数据的变化。

这里大家需要注意,数据比较只有在原有数据减少或发生变化时才能检测到变化,而新增的数据是不会被检测到的。命令如下:

[root@localhost ~]# touch /boot/abc

#在/boot/目录中新建abc文件

[root@localhost ~]# restore -C -f /root/boot.bak.bz2

Dump tape is compressed.

Dump date:Wed Jun 5 08:20:02 2013

Dumped from:the epoch

Level 0 dump of /boot on localhost:/dev/sda1

Label:none

filesys = /boot

#restore检测,没有发现任何变化(当然,因为备份数据在备份时没有abc文件,所以restore命令是不能识别新建文件的)

[root@localhost ~]# mv /boot/vmlinuz-2.6.32-279.el6.i686 /boot/vmlinuz-2.6.32-279.el6.i686.bak

#把/boot/目录中的内核镜像文件改一个名字

[root@localhost ~]# restore -C -f /root/boot.bak.bz2

Dump tape is compressed.

Dump date:Wed Jun 5 08:20:02 2013

Dumped from:the epoch

Level 0 dump of /boot on localhost:/dev/sda1

Label:none

filesys = /boot

restore:unable to stat ./vmlinuz-2.6.32-279.el6.i686:No such file or directory Some files were modified! 1 compare errors

#restore发现内核镜像文件丢失

这个实验比较危险,一定要记得把内核镜像文件的名字改回来,否则一旦重启,系统就会无法正常启动。

[root@localhost ~]# mv /boot/vmlinuz-2.6.32-279.el6.i686.bak /boot/vmlinuz2.6.32-279.el6.i686

【例 2】查看模式。

这种模式比较简单,就是查看备份文件中到底包含什么内容。命令如下:

[root@localhost ~]# restore -t -f boot.bak.bz2

Dump tape is compressed.

#备份数据是压缩的

Dump date:Wed Jun 5 08:20:02 2013

#数据备份时间

Dumped from:the epoch

Level 0 dump of /boot on localhost:/dev/sda1

#备份等级

Label:none

#分区的卷标,没有设定卷标

2.

11 ./lost+found

12 ./grub

24 ./grub/grub.conf

13 ./grub/splash.xpm.gz

…省略部分输出…

【例 3】还原模式

restore 命令的还原模式既可以用于还原整个分区,也可以用于还原文件或目录。命令格式是一样的,不过要注意,如果要还原增量备份的数据,则一定要先还原完全备份的数据。命令如下:

#还原boot.bak.bz2分区备份

#先还原完全备份的数据

[root@localhost ~]# mkdir boot.test

#建立准备解压缩的目录。当然,如果这个目录是我新建的分区,就可以直接把数据恢复到分区中

[root@localhost ~]# cd boot.test/

#进入解压缩目录

[root@localhost boot.test]# restore -r -f /root/boot.bak.bz2

Dump tape is compressed.

#备份数据是压缩数据

#解压缩

[root@localhost boot.test]#ll

#查看一下解压缩的文件

总用量21300

-rw-r--r--. 1 root root 106611 6月 22 2012 config-2.6.32-279.el6.i686 drwxr-xr-x. 3 root root 4096 4 月 10 21:47 efi drwxr-xr-x. 2 root root 4096 4 月 10 21:49 grub

-rw-r--r--. 1 root root 14708399 4 月 10 21:49 initrara£s-2.6.32-279.el6.i686.img

drwx------. 2 root root 4096 4 月 10 21:44 lost+found

-rw-------. 1 root root 47504 6 月 5 09:44 restoresymtable

-rw-r--r--. 1 root root 175903 6 月 22 2012 symvers-2.6.32-279.el6.i686.gz

-rw-r--r--. 1 root root 1846041 6 月 22 2012 System.map-2.6.32-279.el6.i686

-rw-r--r--. 1 root root 1048576 6 月 5 02:38 test

-rwxr-xr-x. 1 root root 3856608 6 月 22 2012 vmlinuz-2.6.32-279.el6.i686

#再还原增量备份的数据

[root@localhost boot.test]# restore -r -f /root/boot.bakl.bz2

Dump tape is compressed.

#恢复增量备份的数据

[root@localhost boot.test]# ll

总用量21328

-rw-r--r--. 1 root root 106611 6 月 22 2012 config-2.6.32-279.el6.i686

drwxr-xr-x. 3 root root 4096 4 月 10 21:47 efi

drwxr-xr-x. 2 root root 4096 4 月 10 21:49 grub

-rw-r--r--. 1 root root 14708399 4 月 10 21:49 initramfs-2.6.32-279.eX6.i686.img

-rw-r--r--. 1 root root 24772 6 月 5 08:20 install. log

#增量备份的install.log文件被恢复了

drwx------. 2 root root 4096 4 月 10 21:44 lost+found

-rw-------. 1 root root 47552 6 月 5 09:57 restoresymtable

-rw-r--r--. 1 root root 175903 6 月 22 2012 symvers-2.6.32-279.el6.i686.gz

-rw-r--r--. 1 root root 1846041 6 月 22 2012 System.map-2.6.32-279.el6.i686

-rw-r--r--. 1 root root 1048576 6 月 5 02:38 test

-rwxr-xr-x. 1 root root 3856608 6月  22 2012 vmlinuz-2.6.32-279.el6.i686

我们再来还原/etc/目录的备份etc.dump.bz2,其实还原的方法是完全一样的。命令如下:

[root@localhost ~]# restore -r -f etc.dump.bz2

Dump tape is compressed.

#还原etc.dump.bz2备份

[root@localhost ~]# ll -d /root/etc

drwxr-xr-x.103 root root 12288 6月 5 07:45 /root/etc

#在root下生成了etc目录,里面的数据和/etc/目录中的数据完全一致

Read more

🚀Zeek.ai一款基于 Electron 和 Vite 打造的跨平台(支持 Windows、macOS 和 Linux) AI 浏览器

🚀Zeek.ai一款基于 Electron 和 Vite 打造的跨平台(支持 Windows、macOS 和 Linux) AI 浏览器

是一款基于 Electron 和 Vite 打造的跨平台(支持 Windows、macOS 和 Linux) AI 浏览器。 集成了 SearXNG AI 搜索、开发工具集合、 市面上最流行的 AI 工具门户,以及代码编写和桌面快捷工具等功能, 通过模块化的 Monorepo 架构,提供轻量级、可扩展且高效的桌面体验, 助力 AI 驱动的日常工作流程。

By Ne0inhk
超快速,使用ChatGPT编写回归和分类算法

超快速,使用ChatGPT编写回归和分类算法

本文将使用一些 ChatGPT 提示,这些提示对于数据科学家在工作时非常重要。 微信搜索关注《Python学研大本营》,加入读者群,分享更多精彩 以下是一些示例ChatGPT 提示的列表以及数据科学家的响应。 ChatGPT 提示 为决策树回归算法生成 python 代码。 下面是使用scikit-learn在 Python 中进行决策树回归的示例代码: import numpy as np import matplotlib.pyplot as plt from sklearn.tree import DecisionTreeRegressor # Generate random data rng = np.random.default_rng() x = 5 * rng.random(100) y = np.sin(x) + 0.

By Ne0inhk
力扣每日一题:993.二叉树的堂兄弟节点 深度优先算法

力扣每日一题:993.二叉树的堂兄弟节点 深度优先算法

993.二叉树的堂兄弟节点 难度:简单 题目: 在二叉树中,根节点位于深度 0 处,每个深度为 k 的节点的子节点位于深度 k+1 处。 如果二叉树的两个节点深度相同,但 父节点不同 ,则它们是一对堂兄弟节点。 我们给出了具有唯一值的二叉树的根节点 root ,以及树中两个不同节点的值 x 和 y 。 只有与值 x 和 y 对应的节点是堂兄弟节点时,才返回 true 。否则,返回 false。 示例: 示例 1: 输入:root = [1,2,3,4], x = 4, y = 3 输出:false

By Ne0inhk