【Linux|數據恢復】extundelete和ext4magic數據恢復工具使用

環境:Centos7.6_x86

一、extundelete工具

1、extundelete介紹

????????Extundelete 是一個數據恢復工具,用于從 ext3 或 ext4 分區中恢復刪除文件。根據官網0.2.4版本介紹是支持ext4,但實際上使用發現ext4格式有些問題,會報以下錯誤:

報錯1:

報錯2:

2、下載extundelete

官網下載鏈接:Download extundelete (sourceforge.net)

百度網盤下載鏈接: https://pan.baidu.com/s/14bkmSiIcqab2MW0ng6a7ew?pwd=ub59 提取碼: ub59

3、源碼安裝extundelete

[root@hadoop02 local]# tar -jxf extundelete-0.2.4.tar.bz2
[root@hadoop02 local]# cd extundelete-0.2.4
[root@hadoop02 extundelete-0.2.4]# yum install gcc gcc-c++ e2fsprogs e2fsprogs-devel e2fsprogs-libs
[root@hadoop02 extundelete-0.2.4]# bash install.sh
[root@hadoop02 extundelete-0.2.4]# make && make install
#查看extundelete版本
[root@hadoop02 extundelete-0.2.4]# extundelete --version

4、準備數據文件

5、刪除數據

6、數據恢復

(1)取消掛載磁盤

????????當發生數據誤刪情況下,應立馬取消掛載磁盤,這是非常重要的,然后再去安裝數據恢復工具。因為新數據的寫入可能會覆蓋需要恢復的文件,當刪除數據時,會刪除inode元數據信息,實際的數據塊并不會刪除,沒有inode的數據塊就會新寫入數據覆蓋掉。

? ? ? ? 有一種現象,如果你的磁盤空間不足,刪除文件后發現系統并未釋放,因為文件在刪除時,正被其他進程一直打開狀態或者寫入數據,inode是一直存在的,系統就不會釋放。

(2)查看可恢復數據

 #顯示/dev/sdb1分區信息,2是根的inode號
[root@hadoop02 ~]# extundelete /dev/sdb1 --inode 2

(3)方式一:根據inode號恢復數據

[root@hadoop02 ~]# extundelete /dev/sdb1 --restore-inode indo號

#文件名并不是以前的名字,以file.inode號命名

(4)方式二:根據文件名恢復數據

[root@hadoop02 ~]# extundelete /dev/sdb1 --restore-file 文件名

#文件名是以前的名字?

?(5)方式三:根據目錄名恢復數據

[root@hadoop02 ~]# extundelete /dev/sdb1 --restore-directory 目錄名

?(6)方式四:恢復所有文件

[root@hadoop02 ~]# extundelete /dev/sdb1 --restore-all

(7)總結

1、extundelete在Centos7.6并不會自動創建空目錄和空文件

2、共4種方法,其中根據inode號恢復的文件不會跟之前的名字保持一致,其他3種可以

3、會在當前目錄下生成RECOVERED_FILES目錄

二、ext4magic工具

1、ext4magic介紹

????????用于從ext3或ext4分區中恢復文件數據工具,基于ext3grep和extundelete。

版本區別:

0.2.4(Beta版本)包含老的magic-function,僅支持ext3系統

0.3.2(Beta版本)包含新的magic-function,支持ext3、ext4版本

經測試,0.3.1版本只支持ext3格式,不支持ext4。

2、ext4magic下載

官網鏈接:ext4magic - Browse Files at SourceForge.net

0.3.2版本:

百度網盤鏈接: https://pan.baidu.com/s/13mGJlXNYNv9N3GR2TnrSKQ?pwd=pt81 提取碼: pt81

0.3.1版本的rpm包,僅支持ext3格式:

鏈接: https://pan.baidu.com/s/1OP5v_FbvuZ9k2QMdWJFy0Q?pwd=vhrj 提取碼: vhrj

3、源碼安裝ext4magic

[root@hadoop02 local]# tar -xzvf ext4magic-0.3.2.tar.gz
[root@hadoop02 local]# cd ext4magic-0.3.2
[root@hadoop02 ext4magic-0.3.2]# yum install gcc gcc-c++ e2fsprogs-devel libuuid-devel libblkid-devel zlib-devel bzip2-devel file-libs file-devel
[root@hadoop02 ext4magic-0.3.2]# ./configure
[root@hadoop02 ext4magic-0.3.2]# make & make install
#創建軟連接
[root@hadoop02 ext4magic-0.3.2]# ln -s /usr/local/ext4magic-0.3.2/src/ext4magic /usr/sbin/ext4magic
#查看版本
[root@hadoop02 ~]# ext4magic -V -X
ext4magic  version : 0.3.2
libext2fs version : 1.42.9
CPU is little endian.

4、準備數據文件

5、刪除數據

6、數據恢復

(1)取消掛載磁盤

????????當發生數據誤刪情況下,應立馬取消掛載磁盤,這是非常重要的,然后再去安裝數據恢復工具

(2)查看可恢復數據

#方式1
[root@hadoop02 ~]# ext4magic /dev/sdb1 -f /
#方式2
[root@hadoop02 ~]# ext4magic /dev/sdb1 -I 2
#查看詳細信息加上 -T -x
[root@hadoop02 ~]# ext4magic /dev/sdb1 -I 2 -T -x

(3)常用恢復數據的參數

-r和-m??? ? #兩個參數一樣效果,只恢復刪掉的文件,空文件也會被恢復。情況一:如果刪掉的目錄,該目錄包含文件,會自動創建目錄以及恢復文件;情況二:如果刪掉的文件,該文件在目錄里面,不會恢復該文件;

-R和-M? ? ?#兩個參數一樣效果,恢復整個磁盤的所有文件以及目錄,包括空的文件和目錄,和沒有刪掉的目錄及文件;

-I? ? ? ? #指定inode號恢復

-f? ? ? ? #指定某個文件或目錄

-d? ? ? ?#指定數據存放路徑

-a? ? ? ? #指定時間戳

(4)方式一:根據inode號恢復文件和目錄

#恢復文件,文件名會以inode號命名,可加上-d 指定存放路徑,默認恢復前24小時內的文件
[root@hadoop02 ~]# ext4magic /dev/sdb1 -I inode號 -r
#恢復目錄,目錄會以inode號命名,包括未刪除的文件,可加上-d 指定存放路徑,默認恢復前24小時內的文件
[root@hadoop02 ~]# ext4magic /dev/sdb1 -I inode號 -R

#恢復文件

#恢復目錄

(5)方式二:根據文件名和目錄名恢復數據

#恢復文件到/root/data目錄下,默認恢復前24小時內的文件
[root@hadoop02 ~]# ext4magic /dev/sdb1 -r -f 文件名 -d /root/data
#恢復目錄到/root/data目錄下,默認恢復前24小時內的文件
[root@hadoop02 ~]# ext4magic /dev/sdb1 -R -f 目錄名 -d /root/data

(6)方式三:恢復整個磁盤數據(全量恢復)?

#恢復磁盤所有數據到/root/data目錄下,包含未刪掉的文件,默認恢復前24小時內的文件
[root@hadoop02 ~]# ext4magic /dev/sdb1 -R -d /root/data
#-M與-R效果一樣
[root@hadoop02 ~]# ext4magic /dev/sdb1 -M -d /root/data

(7)方式四:基于時間搓恢復

#恢復前四天的磁盤的全部數據到/root/data目錄,-R可換成-M,如果換成-r或-m,只能恢復文件,并且刪除的文件在多級目錄里的文件不會恢復,時間可換成具體的時間戳值
[root@hadoop02 ~]# ext4magic /dev/sdb1 -R -a $(date -d "-5day" +%s) -d /root/data/

(8)其他

不支持硬鏈接,支持軟連接?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/21197.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/21197.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/21197.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

動態SQL IF語句

IF語句學習 第一種寫法(標準) 我們先來看以下標準寫法: select * from .. <where> <if test""> and ....... <if test""> and ....... <where> 我們用了一個where標簽 , 內嵌if語句 第二種寫法: 這是第二種寫法:不用where標…

大降分!重郵計算機專碩復試線大降50分!重慶郵電計算機考研考情分析!

重慶郵電大學&#xff08;Chongqing University of Posts and Telecommunications&#xff09;簡稱重郵&#xff0c;坐落于中國重慶市主城區南山風景區內&#xff0c;是中華人民共和國工業和信息化部與重慶市人民政府共建的教學研究型大學&#xff0c;入選國家“中西部高校基礎…

一篇文章搞懂Go語言切片底層原理(圖文并茂+舉例講解)

1. 切片和數組的底層關系 Go語言切片的數據結構是一個結構體&#xff1a; type slice struct {array unsafe.Pointerlen intcap int }Go語言中切片的內部結構包含地址、大小和容量。將數組比喻成一個蛋糕&#xff0c;那么切片就是需要切的那一塊&#xff0c;而那一塊的的…

c++學生管理系統

想要實現的功能 1&#xff0c;可以增加學生的信息&#xff0c;包括&#xff08;姓名&#xff0c;學號,c成績&#xff0c;高數成績&#xff0c;英語成績&#xff09; 2&#xff0c;可以刪除學生信息 3&#xff0c;修改學生信息 4&#xff0c;顯示所有學生信息 5&#xff0c…

支持AMD GPU的llm.c

anthonix/llm.c: LLM training in simple, raw C/HIP for AMD GPUs (github.com) llm.c for AMD devices This is a fork of Andrej Karpathys llm.c with support for AMD devices. 性能 在單個7900 XTX顯卡上使用默認設置&#xff0c;目前的訓練步驟耗時約為79毫秒&#x…

Docker的安裝、啟動和配置鏡像加速

前言&#xff1a; Docker 分為 CE 和 EE 兩大版本。CE 即社區版&#xff08;免費&#xff0c;支持周期 7 個月&#xff09;&#xff0c;EE 即企業版&#xff0c;強調安全&#xff0c;付費使用&#xff0c;支持周期 24 個月。 而企業部署一般都是采用Linux操作系統&#xff0c;而…

【軟件設計師】2022年上半年真題解析

??馮諾依曼計算機體系結構的基本特點是&#xff1a; A. 程序指令和數據都采用二進制表示 - 這是正確的&#xff0c;因為馮諾依曼架構下的計算機使用二進制形式來表示和處理所有信息&#xff0c;包括指令和數據。 B. 程序指令總是存儲在主存中&#xff0c;而數據則存儲在高速…

Java基礎語法詳解——入門學習教程

Java 基礎 目錄 一、數據類型 基本類型包裝類型緩存池 二、String 概覽不可變的好處String, StringBuffer and StringBuilder String Poolnew String(“abc”) 三、運算 參數傳遞float 與 double隱式類型轉換switch 四、關鍵字 finalstatic 五、Object 通用方法 概覽equals()ha…

深入解析 MongoDB Map-Reduce:強大數據聚合與分析的利器

Map-Reduce 是一種用于處理和生成大數據集的方法&#xff0c;MongoDB 支持 Map-Reduce 操作以執行復雜的數據聚合任務。Map-Reduce 操作由兩個階段組成&#xff1a;Map 階段和 Reduce 階段。 基本語法 在 MongoDB 中&#xff0c;可以使用 db.collection.mapReduce() 方法執行…

IsoBench:多模態基礎模型性能的基準測試與優化

隨著多模態基礎模型的快速發展&#xff0c;如何準確評估這些模型在不同輸入模態下的性能成為了一個重要課題。本文提出了IsoBench&#xff0c;一個基準數據集&#xff0c;旨在通過提供多種同構&#xff08;isomorphic&#xff09;表示形式的問題&#xff0c;來測試和評估多模態…

算法(十三)回溯算法---N皇后問題

文章目錄 算法概念經典例子 - N皇后問題什么是N皇后問題&#xff1f;實現思路 算法概念 回溯算法是類似枚舉的深度優先搜索嘗試過程&#xff0c;主要是再搜索嘗試中尋找問題的解&#xff0c;當發生不滿足求解條件時&#xff0c;就會”回溯“返回&#xff08;也就是遞歸返回&am…

enum4linux一鍵查詢SMB信息(KALI工具系列十六)

目錄 1、KALI LINUX簡介 2、enum4linux工具簡介 3、在KALI中使用enum4linux 3.1 目標主機IP&#xff08;win&#xff09; ?編輯 3.2 KALI的IP 4、操作示例 4.1 運行工具 4.2 列出用戶名 4.3 提取用戶名 4.4 使用自定義RID范圍 4.5 列出組 4.6 列出共享文件夾 4.7…

【筆記小記】掌握市場脈動:全營銷解決方案的力量

前面雖然說了這個模型&#xff0c;而且是分章說的&#xff0c;那么在此以筆記小記的形式再說一下&#xff0c;企業面臨的挑戰與日俱增&#xff0c;消費者需求的多樣化、技術的不斷進步、全球化的深入以及社會責任的日益重要&#xff0c;這些因素共同塑造了市場的現狀和未來&…

網絡監聽技術

網絡監聽技術 網絡監聽概述網絡監聽環境 流量劫持網絡環境共享式網絡監聽原理交換式網絡監聽交換機的工作方式交換網絡監聽&#xff1a;交換機集線器交換網絡監聽&#xff1a;端口鏡像交換網絡監聽&#xff1a;MAC洪泛交換網絡監聽&#xff1a;MAC洪泛交換網絡監聽&#xff1a;…

【Unix】消息類的格式與使用

本文給出一個MacOS操作系統中的消息類的使用過程示例&#xff08;結合gencat命令&#xff0c;<nl_types.h>頭文件以及catopen,catgets,catclose3個函數&#xff09; 首先根據對應的操作系統&#xff0c;查看gencat命令 man gencat 可以詳細看到其中對于輸入文件&#x…

Typescript高級: 深入理解extends keyof語法

概述 在TypeScript中&#xff0c;extends關鍵字是類型系統中一個極其重要的組成部分它不僅用于類的繼承&#xff0c;也是類型兼容性檢查和泛型約束的關鍵機制特別是當它與keyof關鍵字結合&#xff0c;形成K extends keyof T的結構時它為類型系統帶來了強大的靈活性和表達能力&…

動態SQL where, choose語句

where語句就一個<where>標簽, 很簡單, 不再過多贅述 接下來我們來看 choose語句的使用 其實choose語句就像java里的swith語句 , 如果語句前面的生效 , 后面的就不會生效了 可以定義查詢的優先級

讀人工智能時代與人類未來筆記19_讀后總結與感想兼導讀

1. 基本信息 人工智能時代與人類未來 (美)亨利基辛格,(美)埃里克施密特,(美)丹尼爾胡滕洛赫爾 著 中信出版社,2023年6月出版 1.1. 讀薄率 書籍總字數145千字&#xff0c;筆記總字數39934字。 讀薄率39934145000≈27.5% 1.2. 讀厚方向 千腦智能 腦機穿越 未來呼嘯而來 …

【工具】 MyBatis Plus的SQL攔截器自動翻譯替換“?“符號為真實數值

【工具】 MyBatis Plus的SQL攔截器自動翻譯替換"?"符號為真實數值 使用MyBatis的配置如下所示&#xff1a; mybatis-plus:configuration:log-impl: org.apache.ibatis.logging.stdout.StdOutImpl調用接口&#xff0c;sql日志打印如下&#xff1a; 參數和sql語句不…

Spring Boot配置MySQL數據庫連接數

1.如何在Spring Boot中配置MySQL數據庫的連接數 1.1主要配置 在Spring Boot中配置MySQL數據庫連接數通常涉及到兩個主要的配置&#xff1a; &#xff08;1&#xff09;數據源配置&#xff1a;這通常是在application.properties或application.yml文件中完成的&#xff0c;用于…