CentOS 6.5安裝使用資料恢複軟體extundelete

來源:互聯網
上載者:User

CentOS 6.5安裝使用資料恢複軟體extundelete

CentOS 6.5安裝使用資料恢複軟體extundelete

一、安裝

(1) 首先extundelete軟體所依賴e2fsprogs e2fsprogs-libs e2fsprogs-devel軟體包

(2) 下載extundelete,官方網站是http://extundelete.sourceforge.net/ 目前的穩定版本是extundelete-0.2.4

[root@local app]# tar jxvf extundelete-0.2.4.tar.bz2

[root@localapp]# cd  extundelete-0.2.4

[root@localapp]# ./configure  結果Writing generated files to disk

[root@localapp]# make  結果extundelete.cc:571: 警告:未使用的參數‘flags’

[root@localapp]# make install

結果  /usr/bin/install -c extundelete'/usr/local/bin'

(3) 解壓安裝

(4) 安裝完成後,就可以進行資料恢複的操作了

二、實用方法

(1) 命令格式 extundelete [options’選項’] [action‘命令’] device-file‘裝置檔案’

(2) 參數介紹extundelete –help

參數:

--version,-[vV]顯示軟體版本號碼

--help,顯示軟體協助資訊

--superblock顯示超級塊資訊

--journal,顯示日誌資訊

--after dtime,時間參數,表示在某時間段之後被刪除的檔案或目錄

--before dtime,時間參數,表示在某時間段之前被刪除的檔案或目錄

動作:

--inode ino,顯示節點ino 的資訊

--block blk 顯示資料區塊 blk 的資訊

--restore-inode ino [,ino,…]恢複命令參數,表示恢複節點“ino”的檔案,恢複的檔案  會自動

存放在目前的目錄下的RESTORED_FILES檔案夾中,使用節點編號作為副檔名

--restore-file ‘path’ ,恢複命令蠶食,表示將恢複指定路徑的檔案,並把恢複的檔案  放在當

前目錄下的RECOVERED_FILES目錄中

--restore-files‘path’,恢複命令參數,表示將恢複在路徑中已列出的所有檔案

--restore-all,恢複命令參數,表示將嘗試恢複所有目錄和檔案

-j journal 表示從已經命名的檔案中讀取擴充日誌

-b blocknumber,表示使用之前備份的超級快來開啟檔案系統,一般用於查看現有超級快

是不是當前所要的檔案

-B blocksize,通過制定資料區塊大小來開啟檔案系統,一般用於查看已經知道大小的檔案

三、extundelete資料恢複過程

在資料被誤刪後,第一時間要做的是卸載被刪除資料所在的磁碟或者磁碟分割,如果是系統根分區的資料遭到誤刪,就需要將系統進入單使用者,並且將根目錄以唯讀模式掛載,這樣做的原因是當問及被刪除後,僅僅是將檔案的inode節點中的扇區指標清零,實際檔案還儲存在磁碟上,如果磁碟以唯讀模式掛載,這些已刪除檔案的資料區塊就可能被作業系統重新分配出去了,在這些資料區塊被新的資料覆蓋後,這些資料就真的丟失了,恢複工具也沒辦法恢複。

(1) 通過extundelete恢複單個檔案操作以ext4檔案系統環境為例,我自己添加一塊磁碟裝置為/dev/sdb4

[root@local 案頭]# mkdir /data

[root@local 案頭]# mkfs.ext4 /dev/sdb4

[root@local 案頭]# mount /dev/sdb4 /data/

[root@local 案頭]# cp /etc/passwd /data/

[root@local data]# cp -r /root/app/extundelete-0.2.4 /data/

[root@local data]# md5sum passwd

90a8c0bb0bea88d6ce2ab252bd55ecfc passwd

[root@local data]# rm -rf /data/*

(2) 卸載磁碟分割

[root@local data]# cd

[root@local ~]# umount /data/

(3) 通過extundelete命令查下/dev/sdb4分區可恢複的資料資訊一般”root”目錄的 inode 值為

2, 一個分區掛載到一個目錄下時,這個”root”目錄的 inode 值為 2

[root@local ~]# extundelete /dev/sdb4 --inode 2

………

File name | Inode number | Deleted status

. 2

.. 2

lost+found 11 Deleted

passwd 12 Deleted

extundelete-0.2.4 131073 Deleted

(4) 恢複單個檔案,恢複單個檔案的參數是--restore-file 這裡需要注意的是參數後面

指定的是恢複檔案路徑,這個路徑是檔案的相對路徑。相對路徑是相對於原來儲存路徑而言

的,如果儲存路徑是/data/passwd,那麼參數後面直接寫pass我的,如果原來的路徑是/data/

extundelete-0.2.4/ config.h那麼在參數後面就寫extundelete-0.2.4/ config.h即可。

[root@local ~]# extundelete /dev/sdb4 --restore-file passwd

NOTICE: Extended attributes are not restored.

Loading filesystem metadata ... 40 groups loaded.

Loading journal descriptors ... 52 descriptors loaded.

Successfully restored file passwd

[root@local ~]# cd RECOVERED_FILES/

[root@local RECOVERED_FILES]# ls

passwd

[root@local RECOVERED_FILES]# md5sum passwd

90a8c0bb0bea88d6ce2ab252bd55ecfc passwd

通過extundelete恢複單個目錄

(1) 通過參數—restore-directory選項即可恢複指定目錄的資料,想要恢複/data/extundelete-          0.2.4下的資料

[root@local extundelete-0.2.4]# extundelete /dev/sdb4 --restore-directory extundelete-0.2.4

[root@local extundelete-0.2.4]# cd RECOVERED_FILES/

[root@local RECOVERED_FILES]# ls

extundelete-0.2.4

[root@local RECOVERED_FILES]# du -sh extundelete-0.2.4/

4.8M extundelete-0.2.4/

可以看到目錄extundelete-0.2.4已經恢複了

通過extundelete恢複所有誤刪的資料

(1) 當需要恢複的資料較多時,一個一個的恢複是非常繁瑣的,此時可以通過--restore-all來恢複所有的檔案或檔案夾

[root@local ~]# cd /

[root@local /]# ls

app cgroup etc lib64 misc opt sbin sys var

bin data home lost+found mnt proc selinux tmp

boot dev lib media net root srv usr

[root@local /]# extundelete /dev/sdb4 --restore-all

[root@local /]# ls

app cgroup etc lib64 misc opt root srv usr

bin data home lost+found mnt proc sbin sys var

boot dev lib media net RECOVERED_FILES selinux tmp

[root@local /]# cd RECOVERED_FILES/

[root@local RECOVERED_FILES]# ls

extundelete-0.2.4 passwd

[root@local RECOVERED_FILES]# du -sh extundelete-0.2.4/

4.8M extundelete-0.2.4/

通過extundelete恢複某個時間段的資料

(1) 當刪除的資料量非常大的時候,很多資料沒有用,這時我們要恢複某個時間短的資料,

extundelete提供了--after,--before參數。

首先假設在/data分區下剛剛建立了extundelete-0.2.4.tar.bz2,然後刪除此檔案,接著卸

載/data分區,開始恢複一小時內的資料操作如下:

[root@local data]# cp /root/extundelete-0.2.4.tar.bz2 /data/

[root@local data]# ls

extundelete-0.2.4.tar.bz2

[root@local data]# date +%s

1447823133

[root@local data]# rm -rf extundelete-0.2.4.tar.bz2

[root@local data]# cd

[root@local ~]# umount /data

[root@local ~]# date +%s

1447823221

[root@local ~]# cd /data/

[root@local data]# ls

[root@local data]# extundelete --after 1447819621 --restore-all /dev/sdb4

[root@local data]# ls

[root@local data]# cd RECOVERED_FILES/

[root@local RECOVERED_FILES]# ls

extundelete-0.2.4.tar.bz2

註:可以看到剛才刪除的檔案已經恢複這個操作需要注意--after參數後面跟的是時間的總秒數起算時間“1970-01-01 00:00:00 UTC”通過date +%s 命令可將目前時間轉換成總秒數之後恢複1小時以前的資料就需要用1447823221減去60*60=3600所得的數

Linux下高效資料恢複軟體extundelete應用實戰

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.