數據恢復軟Extundelete

来源:http://www.cnblogs.com/xiaocheche/archive/2017/10/17/7682103.html
-Advertisement-
Play Games

1》概述 作為一名運維人員,保證數據的安全是根本職責,所以在維護系統的時候,要慎重和細心,但是有時也難免發生出現數據被誤刪除的情況,這個時候該如何 快速、有效地恢複數據呢? 1>如何使用rm –rf命令 在Linux系統下,通過 rm –rf 可以將任何數據直接從硬碟刪除,並且沒有任何提示,同時Li ...


1》概述

      作為一名運維人員,保證數據的安全是根本職責,所以在維護系統的時候,要慎重和細心,但是有時也難免發生出現數據被誤刪除的情況,這個時候該如何              快速、有效地恢複數據呢?

    1>如何使用rm –rf命令         

        在Linux系統下,通過 rm –rf 可以將任何數據直接從硬碟刪除,並且沒有任何提示,同時Linux下也沒有與Windows下回收站的功能,也就意味著數據                    在刪除後通過常規的手段是無法恢復的,因此使用這個命令要非常慎重,在使用rm命令的的時候,比較穩妥的方法就是命令參數放到後面,這樣有一個提                      醒作用,  那麼在企業當中其實保證數據最安全的方法就是做好備份,雖然備份不是萬能的,但是沒有備份是萬萬不行的,任何數據工具都有一定的局限                        性,都不能保證完整的恢復出所有的數據,因此,把備份作為核心,把數據恢復工具作用輔助是運維必須堅持的一種準則;

    2>extundelete和ext3grep的異同         

        在Linux 下,基於開源的數據恢復工具有很多,常見的有debugfs,R-Linux,ext3grep,extundelete等,比較常用的有ext3grep和extundelete,這兩個                       工具的恢復基本一樣,只是exturndelete功能更加強大;

          exturndelete 是基於Linux的一個數據恢復工具,它通過分析文件系統的日誌,解析出所有文件的inode的信息,從而可以恢復Linux下主流的ext3 ext4                       文件系統被下被誤刪除的文件,而ext3grep緊緊只能恢復ext3文件系統的恢復,在恢復速度上,extundelete要快很多,因為extundelete恢復機制是掃描                            inode和恢複數據同時進行,並且支持耽擱文件恢復,但各目錄恢復、inode恢復、block恢復,完整磁碟恢復等,而ext3grep就略顯不足了,它需要首先掃                      描完要恢複數據的所有inode信息,然後才開始恢複數據,所以在恢復速度上相對來說比較慢,並且在功能上也不支持目錄恢復、時間恢復等;

    3>extundelete恢復的原理                

         在介紹使用extundelete 進行恢複數據之前,簡單的介紹一下inode的知識,在Linux下可以通過”ls -id”命令查詢某個文件或者目錄的inode值,例如查看目                   錄的inode值,可以輸入: ls –id / 查看根目錄的inode值,由此可知,根目錄的inode值為2,在利用extundelete恢覆文件時並不依賴特定文件格式,首先                           extundelete會通過文件系統的inode信息,來獲得當前文件系統下的所有文件信息,包括存在和已經刪除的文件,這些信息包括文件名和inode,然後利用                       inode信息結合去查詢該inode所在的block的位置,包括直接塊,間接塊等信息,最後利用dd命令將這些信息備份出來,從而恢複數據文件;

2》extundelete的使用

    1>安裝extundelete         

        extundelete 官方地址為http://extundelete.sourceforge.net/ 其目前穩定版本是extundelete-0.2.4.tar.bz2 ,

        在安裝extundelelete之前需要安裝e2fsprogs和e2fsprogs-libs兩個一依賴包,e2fsprogs和e2fsprogs-libs安裝非常簡單,

      安裝依賴包:

        # yum -y install e2fsprogs e2fsprogs-libs e2fslibs-dev e2fslibs-dev e2fsprogs-devel

        網上YUM或者官方預設YUM  直接  yum install e2fsprogs* 就可以了。

        # tar -xvf extundelete-0.2.4.tar.bz2

        #cd   extundelete-0.2.4

        # ./configure && make && make install

      出現警告的,可以忽略。

     2>extundelelte恢復單個文件        

      多增加一塊硬碟/dev/sdb 分區為/dev/sdb1

      # mkdir /datazeng

      # mount /dev/sdb1 /datazeng

      # vim /datazeng/1.txt

      # cp /etc/passwd /datazeng

      # cp –rf /boot/grub/ /datazeng/

      # sync;sync;sync; 註意創建文件或者複製文件會首先在記憶體標記,sync時數據落地到磁碟,否則將恢復失敗,

      # rm /datazeng/* -rf  開始刪除數據

      # umount /dev/sdb1  在刪除刪除後,立即需要將這個分區卸載,

      這一步很重要,並且在誤刪除文件後應儘快將磁碟掛載為只讀;越早進行,恢復的成功機率就越大;

      # extundelete /dev/sdb1 --inode 2  開始查詢/dev/sdb1可恢復的數據

      # extundelete /dev/sdb1 --restore-file passwd 開始恢復單個數據,

        使用—resotre-file參數

      NOTICE: Extended attributes are not restored.

      Loading filesystem metadata ... 64 groups loaded.

      Loading journal descriptors ... 37 descriptors loaded.

      Successfully restored file passwd

      [root@master /]# ls RECOVERED_FILES/

        passwd

 

        extundelete恢復單個文件的參數是”—restore-file”,這裡需要註意是的”—restore-file”後面指定的是恢覆文件路徑,這個路徑是文件的相對路徑,相對                        路徑是相對於原來文件存儲路徑而言,比如:

       原來的文件存儲路徑是/datazeng/passwd ,那麼恢復的時候不需要加絕對路徑。直接加相對路徑即可;

       原來文件存儲的路徑是/datazeng/test/1.txt 那麼恢復的時候直接在參數後面加test/1.txt 即可;

      在文件恢覆成功後,extundelete命令預設在執行命令的目錄下創建一個RECOVERED_FILES的目錄,此目錄用於存放恢復的文件,所以執行extundelete                    命令當前目錄必須是可寫的;

    3>extundelelte恢復單個目錄          

      [root@master /]# extundelete /dev/sdb1 --restore-directory /grub

        NOTICE: Extended attributes are not restored.

        Loading filesystem metadata ... 64 groups loaded.

        Loading journal descriptors ... 65 descriptors loaded.

        Searching for recoverable inodes in directory /grub ...

        20 recoverable inodes found.

        Looking through the directory structure for deleted files ...

        5 recoverable inodes still lost.

      [root@master /]# ls RECOVERED_FILES/

        grub

    4>extundelelte恢復所有誤刪除 數據          

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

        NOTICE: Extended attributes are not restored.

        Loading filesystem metadata ... 64 groups loaded.

        Loading journal descriptors ... 65 descriptors loaded.

        Searching for recoverable inodes in directory / ...

        20 recoverable inodes found.

        Looking through the directory structure for deleted files ...

        0 recoverable inodes still lost.

      [root@master /]# ls RECOVERED_FILES/

        grub  passwd

     5>extundelelte恢復某個時間的              

      after 恢復某時間之後的被刪除的數據, before恢復某時間段之前被刪除的數據

      [root@master /]# date +%s

        1409111629

      # extundelete --before 1409111629 --restore-all /dev/sdb1

        錯誤:小提示每次做測試了,有點人為了方便,在測試完成之後, mkfs.ext4 /dev/sdb1  再重新掛載,寫入數據後,再刪除,卸載,再測試;

           如果一個分區被2次格式化後,在往裡面填充數據後,自己手動建立的數據將不可恢復,只能通過別的地方CP複製過來的數據才可以恢復,想                                 要重新測試;請把虛擬機新增加的硬碟移除掉,在重新增加,進行分區,測試;

        註意此軟體還有很多BUG存在,特別對一些大文件恢復。還有很大缺陷。並且不能保證100%的恢復 ,所以只能救火使用;

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 1》Nginx概述: 很多人對apache非常熟悉,Nginx與Apache類似,屬於WEB容器,同時也是一款高性能的HTTP和反向代理軟體,它們之間最大的差別是Apache的處理速 度很慢,而且占用很多記憶體資源,而Nginx卻恰恰相反,在功能實現上,Apache的所有模塊都是支持動靜態編譯,而Ng ...
  • 一、keil 5安裝park文件的方法 1.安裝keil 5後,會彈出如下的park文件安裝界面,分別顯示了安裝的park文件、實例、設備以及開發板。點擊Parks->Check For Update會自動更新最新的Park文件。 此外也可以點擊keil中的Park Installer快捷按鈕進入p ...
  • 一、聲明: 本文采用操作系統版本: Centos 7 Linux系統 版本源:CentOS-7-x86_64-DVD-1708.iso 官網下載地址:http://isoredirect.centos.org/centos/7/isos/x86_64/CentOS-7-x86_64-DVD-1708 ...
  • 本系列文章主要介紹linux下主流的開源郵件系統postfix的搭建過程,構建一個通過postfix虛擬用戶管理的完整的郵件系統 本文接著上文的環境,進行postfix郵件發信端和dovecot郵件收信端的部署,之後部署基於瀏覽器的extmail圖形管理端,使管理員可以通過網頁對郵件虛擬用戶進行管理 ...
  • 在“求佛保佑伺服器不宕機”、“殺程式員祭天”的環境下,程式員每天可謂是戰戰兢兢,接到電話和簡訊都嚇得瑟瑟發抖,為了我們的安全,及時發現伺服器運行問題已不僅僅是運維的問題了。本文總結了常見的伺服器監控指標,希望各位開發人員都搞一個腳本運行著以保障自己的生命安全。 ...
  • 本系列文章主要介紹linux下主流的開源郵件系統postfix的搭建過程,構建一個通過postfix虛擬用戶管理的完整的郵件系統, 該系統包括以下組件: 郵件收髮端postfix,dovecot, 郵件管理端:extmail,extman 安全認證:cyrus-sasl 防病毒,防垃圾 本文主要介紹 ...
  • Expect是在Tcl基礎上創建起來的,它還提供了一些Tcl所沒有的命令,它可以用來做一些linux下無法做到交互的一些命令操作,在遠程管 理方面發揮很大的作用。 spawn命令激活一個Unix程式來進行互動式的運行。 send命令向進程發送字元串。 expect 命令等待進程的某些字元串。 exp ...
  • 本文目錄:1. nginx簡介2. nginx處理請求的過程簡單說明3. nginx命令4. nginx模塊及http功能速覽5. nginx配置文件簡單說明 5.1 main和events段 5.2 http段 5.2.1 配置文件概覽 5.2.2 root指令和alias指令 5.2.3 loc ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...