恢复rm -rf删除的数据

注:本文演示的是ext4文件系统格式数据恢复
系统版本:ubuntu16.04
恢复数据目录:数据盘(非根)目录
恢复工具:extundelete 0.2.4 恢复所有被删除数据
ext4magic 恢复指定目录数据

一、注意事项:

  • 分区状态: 在数据恢复过程中,目标分区建议使用只读模式挂载,防止数据被覆盖
  • 输出目录:指定输出目录时,确保该目录有足够的空间来保存恢复的数据
  • 检查权限:运行extundelete命令是,需要具体root权限,所以需要使用root或者sudo提权
  • 数据完整性:需要确保数据被删除之后,无新的数据写入;并非所有的删除文件都能完全恢复,恢复成功率取决于文件被删除后分区数据的修改情况

使用extundelete 恢复所有被删除数据

1、安装extundelete

root@xxx:~# apt-get install extundelete

2、只读挂载需要恢复数据设备,避免写入新数据

root@xxx:~# umount -l /data                     ##卸载数据盘root@xxx:~# mount -o ro  /dev/vdc   /data       ##只读挂载

3、获取对应目录下被删除的数据

root@xxx:~# ls -id  /data/python-package   ##获取被删除数据所在目录的inode
40108033 /data/python-packageroot@xxx:~# extundelte  /dev/vdc  --inode 40108033

在这里插入图片描述

4、恢复数据

root@xxx:~# mkdir  /tmp/del_data   ##创建数据恢复目录,需要确保该目录有足够空间存储恢复数据root@xxx:~# cd /tmp/del_dataroot@xxx:/tmp/del_data# extundelete  /dev/vdc  --restore-all   ##此命令会恢复vdc下所有可恢复数据##验证数据恢复
root@xxx:/tmp/del_data/RECOVERED_FILES# ls -lR
.:
total 8
drwxr-xr-x 2 root root 4096 Nov  7 17:00 python-package
drwxr-xr-x 3 root root 4096 Nov  7 17:01 RECOVERED_FILES./python-package:
total 226788
-rw-r--r-- 1 root root 163225600 Nov  7 17:00 python2.7.15.tar.gz
-rw-r--r-- 1 root root  17496336 Nov  7 17:00 Python-2.7.15.tgz
-rw-r--r-- 1 root root  25067363 Nov  7 17:00 Python-3.10.2.tgz
-rw-r--r-- 1 root root  26437858 Nov  7 17:00 Python-3.11.2.tgz./RECOVERED_FILES:
total 16544
-rw-r--r-- 1 root root 16935960 Nov  7 17:01 file.40108035
drwxr-xr-x 2 root root     4096 Nov  7 17:00 python-package./RECOVERED_FILES/python-package:
total 159400
-rw-r--r-- 1 root root 163225600 Nov  7 17:01 python2.7.15.tar.gz

5、重新读写挂载磁盘,把恢复数据copy到指定目录

root@xxx:/tmp/del_data# umount -l  /dataroot@xxx:/tmp/del_data# mount /dev/vdc /data root@xxx:/tmp/del_data# cp  /tmp/del_data/RECOVERED_FILES/python-package/*  /data/python-package/

6、常用参数解析:

--inode INODE_NUM  ##显示指定inode下ino信息;extundelete --inode 12345 /dev/vdc--restore-inode INODE_NUM ##恢复特定 inode 的文件;
extundelete --restore-inode 12345 /dev/vdc--restore-file FILENAME ##恢复特定的文件或目录。FILENAME 是要恢复的文件的路径(相对于设备的根目录);
extundelete --restore-file path/to/deleted/file /dev/vdc-restore-directory DIRECTORY ##恢复特定目录下的所有文件。DIRECTORY 是要恢复的目录的路径(相对于设备的根目录);
extundelete --restore-directory path/to/deleted/directory /dev/vdc--restore-all ##恢复所有可恢复的文件;
extundelete --restore-all /dev/vdc-o DIRECTORY  ##指定恢复文件的输出目录(默认 RECOVERED_FILES);
extundelete --restore-file path/to/deleted/file --output-dir /path/to/output/ /dev/vdc

三、使用ext4magic恢复指定目录的数据,通过inode递归恢复

1、安装ext4magic

root@xxx:~# apt-get install ext4magic

2、只读挂载需要恢复数据设备,避免写入新数据

root@xxx:~# umount -l /data                     ##卸载数据盘root@xxx:~# mount -o ro  /dev/vdc   /data       ##只读挂载

3、获取被删除数据说在目录的inode

root@xxx:~# cd /tmp/del_dataroot@xxx:~# ls -id  /data/python-package
40108033 /data/python-package

4、恢复数据

root@xxx:/tmp/del_data# ext4magic  /dev/vdc -R -I 40108033参数解析:
-R:递归恢复
-I:指定inode

在这里插入图片描述

5、重新读写挂载磁盘,把恢复数据copy到指定目录

root@xxx:/tmp/del_data# umount -l  /dataroot@xxx:/tmp/del_data# mount /dev/vdc /data  root@xxx:/tmp/del_data# cp  /tmp/del_data/RECOVERDIR/<40108033>/*  /data/python-package/

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Elasticsearch(三):Elasticvue使用及DSL执行新增、查询操作

Elasticvue使用及DSL执行CURD 1 概述2 什么是Elasticsearch DSL3 基本结构4 客户端工具介绍4.1 索引介绍4.2 创建简单索引4.3 创建相对完整的索引4.4 插入数据4.4.1 基本插入操作4.4.2 批量插入操作 5 常用的DSL查询类型5.1 match查询5.1.1 match工作原理5.1.2 operator 参数5.…

静态库、动态库、framework、xcframework、use_frameworks!的作用、关联核心SDK工程和测试(主)工程、设备CPU架构

1.1库的概念 库&#xff1a;程序代码的集合&#xff0c;编译好的二进制文件加上头文件供使用&#xff0c;共享程序代码的一种方式。 1.2库的分类 根据开源情况分为&#xff1a;开源库&#xff08;能看到具体实现&#xff09;、闭源库&#xff08;只公开调用的的接口&#xf…

C++【string类,模拟实现string类】

&#x1f31f;个人主页&#xff1a;落叶 &#x1f31f;当前专栏: C专栏 目录 为什么学习string类 C语言中的字符串 标准库中的string类 auto和范围for auto关键字 迭代器 范围for string类的常用接口说明和使用 1. string类对象的常见构造 2.string类对象的容量操作 3…

Me-LLaMA——用于医疗领域的新型开源大规模语言模型

摘要 大规模语言模型的出现是提高病人护理质量和临床操作效率的一个重大突破。大规模语言模型拥有数百亿个参数&#xff0c;通过海量文本数据训练而成&#xff0c;能够生成类似人类的反应并执行复杂的任务。这在改进临床文档、提高诊断准确性和管理病人护理方面显示出巨大的潜…

关于在VS中使用Qt不同版本报错的问题

最开始需要配置的地方 首先看一下我的Qt有关的环境变量&#xff1a; Path环境变量里&#xff1a; 这里就是把对应Qt编译器环境下的bin目录放进来&#xff1a;比如你使用的是msvc2017_64或者MinGW QMAKESPEC环境变量&#xff1a; 这个就选择Qt对应的编译器目录下的\mkspecs\w…

Windows Server 怎么关闭IE增强安全配置(关闭IE弹窗)

首先第一步打开IE浏览器&#xff0c;根据下图所示&#xff0c;访问网页时会弹出警告窗口。 打开【控制面板】图标。查看方式改为小图标&#xff0c;打开【管理工具】 第五步进入【管理工具】页面后&#xff0c;找到并双击【服务器管理器】选项。 第六步在弹出的窗口中&#…

中肿团队提出的“免疫三明治”(放疗+化疗+免疫治疗),成功登上柳叶刀肿瘤|顶刊精析·24-11-08

小罗碎碎念 该研究首次发现在同期放化疗基础上增加特瑞普利单抗&#xff08;PD-1抗体&#xff09;新辅助和辅助治疗显著提高了高危局部晚期鼻咽癌患者生存率。 如果大家看完这篇推送以后&#xff0c;有什么好的医工交叉点子&#xff0c;欢迎和我一起探讨&#xff01;&#xff0…

Golang--协程和管道

1、概念 程序&#xff1a; 是为完成特定任务、用某种语言编写的一组指令的集合,是一段静态的代码。(程序是静态) 进程&#xff1a; 是程序的一次执行过程。正在运行的一个程序&#xff0c;进程作为资源分配的单位&#xff0c;在内存中会为每个进程分配不同的内存区域&#xff0…

动力商城-02 环境搭建

1.父工程必须满足&#xff1a;1.1删除src目录 1.2pom 2.依赖继承 //里面的依赖&#xff0c;后代无条件继承<dependencies></dependencies>//里面的依赖&#xff0c;后代想要继承&#xff0c;得自己声明需要使用&#xff0c;可以不写版本号&#xff0c;自动继承&l…

JavaWeb开发9

ResponseBody 类型&#xff1a;方法注解、类注解 位置&#xff1a;Controller方法上/类上 作用&#xff1a;将方法返回值直接响应&#xff0c;如果返回值类型是实体对象/集合&#xff0c;将会转换为JSON格式响应 说明&#xff1a;RestControllerControllerResponseBody; 统…

夜天之书 #103 开源嘉年华纪实

上周在北京参与了开源社主办的 2024 中国开源年会。其实相比于有点明显班味的“年会”&#xff0c;我的参会体验更像是经历了一场中国开源的年度嘉年华。这也是在会场和其他参会朋友交流时共同的体验&#xff1a;在开源社的 COSCon 活动上&#xff0c;能够最大限度地一次性见到…

06 Oracle性能优化秘籍:AWR、ASH、SQL trace与实时监控的实战指南

文章目录 Oracle性能优化秘籍&#xff1a;AWR、ASH、SQL trace与实时监控的实战指南一、AWR&#xff08;Automatic Workload Repository&#xff09;1.1 理论部分1.2 实践部分1.2.1 使用方式1.2.2 分析方式 二、ASH&#xff08;Active Session History&#xff09;2.1 理论部分…

JS实现,防抖节流 + 闭包

防抖&#xff08;Debounce&#xff09; 防抖是指短时间内大量触发同一事件&#xff0c;只会在最后一次事件完成后延迟执行一次函数。 防抖的典型应用场景是输入框的搜索建议功能&#xff0c;用户输入时不需要每次输入都去查询&#xff0c;而是在用户停止输入一段时间后才进行…

1.每日SQL----2024/11/7

题目&#xff1a; 计算用户次日留存率,即用户第二天继续登录的概率 表&#xff1a; iddevice_iddate121382024-05-03232142024-05-09332142024-06-15465432024-08-13523152024-08-13623152024-08-14723152024-08-15832142024-05-09932142024-08-151065432024-08-131123152024-…

WPF中如何简单的使用MvvmLight创建一个项目并进行 增删改查

目录 第一步&#xff1a;创建项目后下载如下两个NuGet程序包&#xff0c;然后删除删掉using Microsoft.Practices.ServiceLocation; 并且引入using CommonServiceLocator; 第二步&#xff1a;删除原来的XAML文件并创建如下的包结构然后创建一个在View文件夹中创建一个Main窗体 …

网页版五子棋——匹配模块(客户端开发)

前一篇文章&#xff1a;网页版五子棋——用户模块&#xff08;客户端开发&#xff09;-CSDN博客 目录 前言 一、前后端交互接口设计 二、游戏大厅页面 1.页面代码编写 2.前后端交互代码编写 3.测试获取用户信息功能 结尾 前言 前面文章介绍完了五子棋项目用户模块的代码…

elasticSearch 7.12.1 Docker 安装ik分词

一、下载 https://github.com/infinilabs/analysis-ik/releases/tag/v7.12.1 将文件解压&#xff0c;复制到docker挂载的目录 docker ps#重启docker docker restart f7ec58e91f1f 测试 GET _analyze?pretty {"analyzer": "ik_max_word","text&qu…

在JS中, 0 == [0] 吗

在不知道答案的情况下, 你觉得这段代码的输出是什么 我当时觉得是false, 结果我错了–^^– 那为什么输出是true呢 因为的隐式类型转换, 运算符会尝试将两个操作数转换为相同的类型&#xff0c;然后再进行比较。 在这个例子中&#xff0c;0 是一个数字&#xff0c;而 [0] 是…

【学习AI-相关路程-mnist手写数字分类-win-硬件:windows-自我学习AI-实验步骤-全连接神经网络(BPnetwork)-操作流程(3) 】

【学习AI-相关路程-mnist手写数字分类-win-硬件&#xff1a;windows-自我学习AI-实验步骤-全连接神经网络&#xff08;BPnetwork&#xff09;-操作流程&#xff08;3&#xff09; 】 1、前言2、前置学习&#xff08;1&#xff09;window和Linux中python寻找目录的方式。&#x…

RabbitMQ客户端应用开发实战

这一章节我们将快速完成RabbitMQ客户端基础功能的开发实战。 一、回顾RabbitMQ基础概念 这个RabbitMQ的核心组件&#xff0c;是进行应用开发的基础。 二、RabbitMQ基础编程模型 RabbitMQ提供了很多种主流编程语言的客户端支持。这里我们只分析Java语言的客户端。 上一章节提…