通过xfsdump和xfsrestore命令实现RHEL7 xfs文件系统误删除文件的恢复

news2024/11/25 23:49:49

在linux系统中,我们有时会“不小心”误删除一些文件,如果是自己是测试环境服务器可能“无所谓”。但是一旦发生在客户的生产环境,那就是“重大安全事故”。

我们能不能提前对一些重要的文件系统进行备份,以便当我们真的误删除一些重要的文件时,能够及时恢复呢?本次为大家讲解如何使用xfsdump和xfsrestore命令实现RHEL7 xfs文件系统误删除文件的恢复。

1.实验环境

1.VMWare RHEL7.7

命令:

cat /etc/redhat-release

2.实施步骤

1.虚拟机关机

2.新增一块硬盘大小20G

 

3.虚拟机开机并查看新增磁盘信息

命令:

lsblk |grep "sdb"

4.对新增磁盘进行分区,大小5GB

命令:

echo -e "o\nn\np\n1\n\n+5G\nw" | fdisk /dev/sdb

lsblk |grep "sdb"

5.格式化磁盘分区并挂载

命令:

mkfs.xfs -f /dev/sdb1

mkdir -p /tmp/sdb1

mount /dev/sdb1 /tmp/sdb1

6.创建空文件,空目录,普通文件,普通目录

命令:

cd /tmp/sdb1

mkdir a

mkdir b

touch aa

touch bb

touch kong.txt

echo "aaa" >>aa

echo "bbb" >>bb

mv bb b/

7.使用xfsdump命令备份/dev/sdb1分区中的数据至/root/back目录

前提:如果xfsdump未安装,请安装;yum源可用

yum -install -y xfsdump

命令:

mkdir -p /root/back

xfsdump -f /root/back/dump_sdb1 /dev/sdb1

备注:dump_sdb1为自动定义备份文件名称

[root@rhel77 back]# xfsdump -f /root/back/dump_sdb1 /dev/sdb1
xfsdump: using file dump (drive_simple) strategy
xfsdump: version 3.1.7 (dump format 3.0) - type ^C for status and control
​
 ============================= dump label dialog ==============================
​
please enter label for this dump session (timeout in 300 sec)
 -> dump_sdb1            #label标签名,可以为空
session label entered: "dump_sdb1"
​
 --------------------------------- end dialog ---------------------------------
​
xfsdump: level 0 dump of rhel77:/tmp/sdb1
xfsdump: dump date: Sun May 28 19:23:11 2023
xfsdump: session id: b0498d15-755e-4e33-8207-d47830a84bde
xfsdump: session label: "dump_sdb1"
xfsdump: ino map phase 1: constructing initial dump list
xfsdump: ino map phase 2: skipping (no pruning necessary)
xfsdump: ino map phase 3: skipping (only one dump stream)
xfsdump: ino map construction complete
xfsdump: estimated dump size: 30592 bytes
​
 ============================= media label dialog =============================
​
please enter label for media in drive 0 (timeout in 300 sec)
 -> sdb1
media label entered: "sdb1"    #media标签名,可以为空
​
 --------------------------------- end dialog ---------------------------------
​
xfsdump: creating dump session media file 0 (media 0, file 0)
xfsdump: dumping ino map
xfsdump: dumping directories
xfsdump: dumping non-directory files
xfsdump: ending media file
xfsdump: media file size 23656 bytes
xfsdump: dump size (non-dir files) : 1088 bytes
xfsdump: dump complete: 12 seconds elapsed
xfsdump: Dump Summary:
xfsdump:   stream 0 /root/back/dump_sdb1 OK (success)
xfsdump: Dump Status: SUCCESS
[root@rhel77 back]# ls         #查看备份后的信息
dump_sdb1
[root@rhel77 back]# 
​

8.模拟删除/tmp/sdb1(/dev/sdb1)下的文件

命令:

cd /tmp/sdb1

rm -rf *

ls

9.执行恢复

命令:

cd /tmp/sdb1

xfsrestore -f /root/back/dump_sdb1 /tmp/sdb1/

ls

tree

备注:dump_sdb1为xfsdump命令备份的文件名称

[root@rhel77 sdb1]# cd /tmp/sdb1
[root@rhel77 sdb1]# xfsrestore -f /root/back/dump_sdb1 /tmp/sdb1/
xfsrestore: using file dump (drive_simple) strategy
xfsrestore: version 3.1.7 (dump format 3.0) - type ^C for status and control
xfsrestore: searching media for dump
xfsrestore: examining media file 0
xfsrestore: dump description: 
xfsrestore: hostname: rhel77
xfsrestore: mount point: /tmp/sdb1
xfsrestore: volume: /dev/sdb1
xfsrestore: session time: Sun May 28 19:23:11 2023
xfsrestore: level: 0
xfsrestore: session label: "dump_sdb1"
xfsrestore: media label: "sdb1"
xfsrestore: file system id: f41c9297-c680-4555-887b-673d47c5693e
xfsrestore: session id: b0498d15-755e-4e33-8207-d47830a84bde
xfsrestore: media id: 0d886f27-6182-408d-89a1-ee0cf1265645
xfsrestore: using online session inventory
xfsrestore: searching media for directory dump
xfsrestore: reading directories
xfsrestore: 3 directories and 5 entries processed
xfsrestore: directory post-processing
xfsrestore: restoring non-directory files
xfsrestore: restore complete: 0 seconds elapsed
xfsrestore: Restore Summary:
xfsrestore:   stream 0 /root/back/dump_sdb1 OK (success)
xfsrestore: Restore Status: SUCCESS
[root@rhel77 sdb1]# ls
a  aa  b  kong.txt
[root@rhel77 sdb1]# tree
.
├── a
├── aa
├── b
│   └── bb
└── kong.txt
​
2 directories, 3 files
[root@rhel77 sdb1]# 
​

至此,被删除的文件和目录恢复成功!

备注:

1.xfsdump备份和xfsrestore恢复磁盘的前提是磁盘分区始终要处于挂载状态

2.xfsdump -f /root/back/dump_sdb1 /dev/sdb1。

xfsdump -f $destination $source

xfsdump命令备份时,$source只可以使用/dev/sdb1磁盘分区,不可以使用 /tmp/sdb1(/dev/sdb1磁盘分区的挂载点)

3.xfsrestore能够恢复为空的文件和目录

4.xfsrestore -f /root/back/dump_sdb1 /tmp/sdb1

xfsrestore -f $source $destination

xfsrestore命令恢复时,$destination既可以是/tmp/sdb1(/dev/sdb1磁盘分区的挂载点),也可以是其它目录,但不能直接使用/dev/sdb1磁盘分区名称

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/629979.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

2023最新最全面Java复习路线(含P5-P8),已收录 GitHub

小编整理出一篇 Java 进阶架构师之路的核心知识,同时也是面试时面试官必问的知识点,篇章也是包括了很多知识点,其中包括了有基础知识、Java 集合、JVM、多线程并发、spring 原理、微服务、Netty 与 RPC 、Kafka、日记、设计模式、Java 算法、…

SQLServer2022安装(Windows),已验证

一、SQLServer2022下载 1、官网下载地址 SQL Server 下载 | Microsoft 2、下载安装包 2.1、选择Developer版本,立即下载。 2.2、打开下载文件夹,双击运行SQL2022-SSEI-Dev.exe 尝试运行SQL2022-SSEI-Dev.exe,会收到以下信息:“…

3.Hive系列之docker-compose部署升级总结

1. 版本号修改 对于升级而言,我们最先考虑的是docker hub中有的较新的版本,然后我们需要简单了解下hadoop2与hadoop3的区别,首先明确的是端口号有所改变,如下图所示 2. Hive镜像构建 刚刚我们修改了Hive为bde2020/hive:3.1.2-po…

ESPG(European Petroleum Survey Group)

数据转换器(栅格) ,数据转换器(矢量)转换数据时经常会看到EPSG的坐标系标识。那么什么是EPSG呢? ESPG(European Petroleum Survey Group)坐标系是一种用于地球表面测量和地理信息处…

Xubuntu之将rm删除内容移至回收站(一百七十七)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 人生格言: 人生…

【小沐学Unity3d】Unity3d导入3D模型

文章目录 1、简介1.1 标准文件格式1.2 专有文件格式1.3 从 Autodesk 3ds Max 导入对象1.4 从 Blender 导入对象 2、测试2.1 新建项目2.2 导入fbx2.2 手动调整相机2.3 脚本控制相机 结语 1、简介 Unity 支持多种标准和专有模型文件格式。 Unity 内部使用 .fbx 文件格式作为其导…

【前端 - CSS】第 9 课 - CSS 初体验

欢迎来到博主 Apeiron 的博客,祝您旅程愉快 ! 时止则止,时行则行。动静不失其时,其道光明。 目录 1、CSS 定义 2、基础选择器 3、文字控制属性 4、示例代码 5、总结 1、CSS 定义 层叠样式表(Cascading Style …

IP组播6_PIM-SM(SSM)详解

目录 1.PIM-SM(SSM)简介 2.PIM-SM(ASM)工作原理 3.PIM-SM(SSM)实验 3.1 PIM-SM(SSM)常用配置命令 3.2 PIM-SM(ASM)实验配置步骤 3.3 PIM-SM&#xff08…

HTMLCSS Day01 功能元素与HTTP请求协议详解

文章目录 1.功能元素1.1.列表标签- HTML中列表标签的分类 1.1.1.无序列表:- 无序列表格式:- 无序列表样式- 注意点:- 无序列表应用场景: 1.1.2.有序列表- 有序列表格式:- 有序列表样式 1.1.3.定义列表- 定义列表的格式:- 定义列表的应用场景- 定义列表的注意点 1.2.表格标签- 什…

【算法】手写题

文章目录 画一个三角形实现三栏布局通过position和margin通过float和margin通过flex实现 变量提升题实现边框0.5px深拷贝快速排序手写发布订阅/事件总线 画一个三角形 .box1 {width: 0;height: 0;border: 10px solid;border-color: red transparent transparent transparent;}实…

window编写redis服务启动脚本

日常工作中,每次启动项目总会忘记开启redis服务,并收货一天中的第一个项目报错,然后经历繁琐的文件查找redis所在目录,并点击redis-server.exe,启动服务,于是笔者在想,如果在桌面写个脚本一键启…

新项目,不妨采用这种架构分层,很优雅

在专栏开篇提到过DDD(Domain-Driven Design,领域驱动设计)学习起来较为复杂,一方面因为其自身涉及的概念颇多,另一方面,我们往往缺乏实战经验和明确的代码模型指导。今天,我们将专注于DDD的分层…

机器学习笔记 - EANet 外部注意论文简读及代码实现

一、论文简述 论文作者提出了一种新的轻量级注意力机制,称之为外部注意力。如图所示,计算自注意力需要首先通过计算自查询向量和自关键字向量之间的仿射关系来计算注意力图,然后通过用该注意力图加权自值向量来生成新的特征图。外部关注的作用…

条款29:假定移动操作不存在、成本高、未使用

移动语义可以说在C11的所有语言特性中占据着首要中的首要地位。“移动容器现在和复制指针一样成本低廉了!”这是你很可能听说过的,类似说法还有“复制临时对象现在已经如此高效,如果刻意在撰写代码总避免它,就无异于犯了过早优化的…

java SSM 程序在线评判系统myeclipse开发mysql数据库springMVC模式java编程计算机网页设计

一、源码特点 java SSM 程序在线评判系统是一套完善的web设计系统(系统采用SSM框架进行设计开发,springspringMVCmybatis),对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采…

PDCA循环

PDCA循环 由美国质量管理专家沃特阿曼德休哈特(Walter A. Shewhart)首先提出的,由戴明采纳、宣传,获得普及,所以又称戴明环。 模型介绍 戴明是一位美国的质量管理大师,却成名于日本。在他的帮助下&#xf…

JQuery 操作Class实现前段交互方案(推荐)

一、JQuery基础控制图片宽度实现动画交互 1.html页面声明周期 //页面生命周期 //页面的数据html,加载完成, 图片ajax视频 在异步加载中 //document.ready---DOMContentLoaded ----小程序onload ---Vue created() //页面加载完成 //window.onload…

二叉树的相关操作

一.二叉树 本文的数据结构基于C语言练习。 C语言中的二叉树是一种数据结构,用于表示具有层次关系的数据集合。它由一个根节点开始,每个节点最多有两个子节点,分别称为左子节点和右子节点。 二叉树有许多相关性质,其中一些重要的包…

记录一下idea黄色警戒线问题

记录一下idea黄色警戒线问题 一、通用文件中解决黄色波浪线问题1.选中File中的Settings进入2.点击Editor,选中Inspections,找到General,找到Dulicated code fragment点击取消 二、SQL文件中黄色警告线 一、通用文件中解决黄色波浪线问题 1.选…

jvm之7种垃圾回收器解读(下)

目录 G1回收器:区域化分代式 G1回收器的特点(优势) 空间整合 可预测的停顿时间模型(即:软实时soft real-time) G1垃圾收集器的缺点 G1回收器的参数设置 G1收集器的常见操作步骤 G1收集器的适用场景 分…