首頁 > 系統教程 > Linux > 主體

常見的幾個資料恢復工具在Linux系統下的使用

WBOY
發布: 2024-01-26 21:27:05
轉載
1364 人瀏覽過

身為維運人員,確保資料的安全是根本職責linux檔案復原工具,所以在維護系統的時侯,要慎之又慎,而且有時難免會出現資料被誤刪掉的情況,在這個時侯改怎麼快速、有效地恢復資料呢?本文我們就來介紹一下Linux系統下常用的幾個資料恢復工具。

一、如何使用「rm-rf」指令

#在Linux系統下,透過指令「rm-rf」可以將任何資料直接從硬盤刪掉,而且沒有任何提示,同時Linux下也沒有與Windows下回收站類似的功能,也就意味著,資料在刪除後透過常規的手段是難以恢復的,因而使用這個命令要特別謹慎。在使用rm指令的時侯linux虛擬主機,比較穩當的方式是把指令參數放在前面,這樣有一個提醒的作用。雖然還有一個方式,那就是即將刪掉的東西透過mv指令聯通到系統下的/tmp目錄下,之後寫個腳本定期執行清理操作,這樣做可以在一定程度上減少刪掉除資料的危險性。

雖然保證資料安全最好的方式是做好備份,儘管備份不是萬能的linux檔案復原工具,並且沒有備份是萬萬不行的。任何資料恢復工具都有一定局限性,都不能保證完整地恢復出所有數據,因而,把備份作為核心,把數據恢復工具作為輔助是維運人員必須堅持的一個準則。

二、extundelete與ext3grep的優缺點

在Linux下,基於開源的資料復原工具有很多,常見的有debugfs、R-Linux、ext3grep、extundelete等,比較常用的有ext3grep和extundelete,這兩個工具的復原原理基本上一樣,只是extundelete功能更加大大,本文將重點放在extundelete的使用。

三、extundelete的復原原理

在介紹使用extundelete進行復原資料之前,先簡單介紹下關於inode的知識。在Linux下可以透過「ls–id」指令來查看某個檔案或則目錄的inode值,例如查看根目錄的inode值,可以輸入:

[root@cloud1~]#ls-id/

2/

由此可知,根目錄的inode值為2。

在藉助extundelete恢復檔案時並不依賴特定檔案格式,首先extundelete會透過檔案系統的inode資訊(根目錄的inode通常為2)來取得目前檔案系統下所有檔案的信息,包括存在的和早已刪掉的文件,這種資訊包括文件名和inode。之後藉由inode資訊結合日誌去查詢該inode所在的block位置,包括直接區塊紅旗linux系統下載,間接區塊等資訊。最後借助dd指令將此資訊備份下來,進而恢復資料檔。

四、安裝extundelete

extundelete的官方網站是/zixunimg/eepwimg//,目前的穩定版本是extundelete-0.2.4。 ,在安裝extundelete之前須要安裝e2fsprogs和e2fsprogs-libs兩個依賴套件。

e2fsprogs和e2fsprogs-libs安裝特別簡單,這裡不做介紹。下邊是extundelete的編譯安裝過程:

[root@cloud1app]#tarjxvfextundelete-0.2.4.tar.bz2

[root@cloud1app]#cdextundelete-0.2.4

[[email protected]]#./configure

####

linux数据恢复工具_linux恢复工具_linux文件恢复工具

#[[email protected]]#make

[[email protected]]#makeinstall

成功安裝extundelete後,會在系統中產生一個extundelete可執行檔。 extundelete的使用十分簡單,讀者可以透過「extundelete--help」來取得此軟體的使用方式。

五、extundelete用法解讀

#extundelete安裝完成後,就可以執行資料復原作業了,本節詳盡介紹下extundelete每位參數的含意。 extundelete用法如下:

extundelete--help

命令格式:

extundelete[options][action]device-file

##其中參數(options)有:

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

--help,顯示軟體說明資訊。

--superblock,顯示超級區塊資訊。

--journal,顯示日誌資訊。

--afterdtime,時間參數,表示在某段時間過後被刪除的檔案或目錄。

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

動作(action)有:

--inodeino,顯示節點「ino」的資訊。

--blockblk,顯示資料塊「blk」的資訊。

--restore-inodeino[,ino,...],恢復指令參數,表示復原節點「ino」的文件,復原的檔案會手動置於目前目錄下的RESTORED_FILES資料夾中,使用節點編號作為擴充名。

--restore-file'path',恢復指令參數,表示將恢復指定路徑的文件,並把恢復的文件置於目前目錄下的RECOVERED_FILES目錄中。

--restore-files'path',還原指令參數,表示將還原在路徑中已列舉的所有檔案。

--restore-all,還原指令參數,表示將嘗試還原所有目錄和檔案。

-jjournal,表示從早已命名的檔案中讀取擴充日誌。 linux恢复工具_linux数据恢复工具_linux文件恢复工具

-bblocknumber,表示使用先前備份的超級區塊來開啟檔案系統,通常用於查看現有超級區塊是不是目前想要的檔案。

# ###-Bblocksize,表示使用資料塊大小來開啟檔案系統,通常用於查看早已曉得大小的檔案。 ### ###六、實戰:extundelete恢復資料的過程###

在資料被誤刪掉後,第一時間要做的是卸載被刪掉資料所在的c盤或c盤分區,倘若是系統根分區的資料受到誤刪掉,就必須將系統步入單用戶,但是將根分區以只讀模式掛載。這樣做的緣由很簡單,由於將文件刪掉後,僅僅是將文件的inode結點中的磁道表針清零,實際文件還儲存在c盤上,假如c盤以讀寫模式掛載,這種已刪除的檔案的資料塊就可能被作業系統重新分配出去,在這種資料區塊被新的資料覆蓋後,這種資料就真的遺失了,復原工具也迴力無天。所以,以唯讀模式掛載c碟可以盡量減少資料區塊中資料被覆蓋的風險,以提升復原資料成功的百分比。

6.1透過extundelete恢復單一檔案

1.模擬資料誤刪掉環境

在示範透過extundelete復原資料之前,我們首先要模擬一個資料誤刪掉環境,這兒我們以ext3檔案系統為例,在ext4檔案系統下的復原方法與此完全一樣。簡單的模擬操作流程如下:

[root@cloud1~]#mkdir/data

#[root@cloud1~]#mkfs.ext3/dev/sdc1

[root@cloud1~]#mount/dev/sdc1/data

##[root@cloud1~]#cp/etc/passwd/data

#[root@cloud1~]#cp-r/app/ganglia-3.4.0/data####

以上是常見的幾個資料恢復工具在Linux系統下的使用的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:itcool.net
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!