溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

使用開源工具Extundelete快速恢復(fù)被誤刪除掉數(shù)據(jù)的方法

發(fā)布時間:2020-08-27 15:02:54 來源:億速云 閱讀:708 作者:小新 欄目:建站服務(wù)器

這篇文章主要介紹使用開源工具Extundelete快速恢復(fù)被誤刪除掉數(shù)據(jù)的方法,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

誤刪文件后如何恢復(fù)數(shù)據(jù)

在日常使用中有時難免會出現(xiàn)數(shù)據(jù)被誤刪除的情況,在這個時候該如何快速、有效地恢復(fù)數(shù)據(jù)呢?在阿里云上恢復(fù)數(shù)據(jù)有多種方式,例如:

通過阿里云控制臺回滾備份好的快照,自定義鏡像恢復(fù)等方式。

購買多臺ECS,實現(xiàn)業(yè)務(wù)的負載均衡,高可用。

利用對象存儲 OSS(Object Storage Service),存儲靜態(tài)網(wǎng)頁和海量圖片、視頻等重要數(shù)據(jù)。

本文檔主要以CentOS7操作系統(tǒng)為例,介紹如何使用開源工具Extundelete快速恢復(fù)被誤刪除掉的數(shù)據(jù)。

在Linux下,基于開源的數(shù)據(jù)恢復(fù)工具有很多,常見的有debugfs、R-Linux、ext3grep、extundelete等,比較常用的有ext3grep和extundelete,這兩個工具的恢復(fù)原理基本一樣,只是extundelete功能更加強大。

Extundelete是基于linux的開源數(shù)據(jù)恢復(fù)軟件。在使用阿里云的云服務(wù)器時,如果您不小心誤刪除數(shù)據(jù),并且Linux系統(tǒng)也沒有與Windows系統(tǒng)下回收站類似的功能,您可以方便快速安裝此工具。

Extundelete能夠利用inode信息結(jié)合日志去查詢該inode所在的block位置,以次來查找和恢復(fù)所需的數(shù)據(jù),該工具最給力的一點就是支持ext3/ext4雙格式分區(qū)恢復(fù),基于整個磁盤的恢復(fù)功能較為強大。

注意事項

在數(shù)據(jù)被誤刪除后,第一時間要做的是卸載被刪除數(shù)據(jù)所在的磁盤或磁盤分區(qū)。因為將文件刪除后,僅僅是將文件的inode結(jié)點中的扇區(qū)指針清零,實際文件還存儲在磁盤上,如果磁盤以讀寫模式掛載,這些已刪除的文件的數(shù)據(jù)塊就可能被操作系統(tǒng)重新分配出去,在這些數(shù)據(jù)塊被新的數(shù)據(jù)覆蓋后,這些數(shù)據(jù)就真的丟失了,恢復(fù)工具也回力無天。所以,以只讀模式掛載磁盤可以盡量降低數(shù)據(jù)塊中數(shù)據(jù)被覆蓋的風(fēng)險,以提高恢復(fù)數(shù)據(jù)成功的幾率。

注:在實際線上恢復(fù)過程中,切勿將extundelete安裝到您誤刪的文件所在硬盤,這樣會有一定幾率將需要恢復(fù)的數(shù)據(jù)徹底覆蓋,切記操作前做好快照備份。

適用對象

磁盤中文件誤刪除的用戶,且未對磁盤進行過寫入等操作

網(wǎng)站訪問量小、少量 ECS 實例的用戶

使用方法

需安裝的軟件及版本:e2fsprogs-devel e2fsprogs gcc-c++ make(編譯器等)Extundelete-0.2.4

注:extundelete需要libext2fs版本1.39或更高版本來運行,但是對于ext4支持,請確保您有e2fsprogs版本1.41或更新版本(可以通過運行命令“dumpe2fs”并記錄其輸出的版本)

說明:以上版本是寫文檔時的軟件版本。您下載的版本可能與此不同。

部署extundelete工具

wget  http://zy-res.oss-cn-hangzhou.aliyuncs.com/server/extundelete-0.2.4.tar.bz2
yum -y install  bzip2  e2fsprogs-devel  e2fsprogs  gcc-c++  make    #安裝相關(guān)依賴和庫
tar -xvjf extundelete-0.2.4.tar.bz2
cd extundelete-0.2.4                                #進入程序目錄
./configure                                         #如下圖表示安裝成功
make && make install

這個時候會出現(xiàn)src目錄,下面有個extundelete可執(zhí)行文件以及相應(yīng)路徑,如下圖,其實默認文件安裝在usr/local/bin下面,下面演示就在usr/local/bin目錄下。

使用extundelete,模擬數(shù)據(jù)誤刪除然后恢復(fù)的過程

1.檢查ECS現(xiàn)有的磁盤和可用分區(qū),并對/dev/vdb進行分區(qū),格式化,此處不在介紹磁盤分區(qū)格式化方式,如果不會的話可以點擊此文檔查看操作方式“格式化和掛載數(shù)據(jù)盤”。

fdisk -l

2.將分區(qū)后的磁盤掛載到/zhuyun目錄下,然后在/zhuyun下面新建測試文件hello,寫入test。

mkdir /zhuyun                                #新建zhuyun目錄
mount /dev/vdb1 /zhuyun                      #將磁盤掛載到zhuyun目錄下
echo test > hello                            #寫入測試文件

3.記錄文件MD5值,md5sum命令用于生成和校驗刪除前和恢復(fù)后倆個文件的md5值。

md5sum hello

4.模擬刪除hello文件。

rm -rf hello
cd ~
fuser -k /zhuyun                     #結(jié)束使用某分區(qū)的進程樹(確認沒有資源占用的話,可以跳過此步)

5.卸載數(shù)據(jù)盤。

umount /dev/vdb1                     #任何的文件恢復(fù)工具,在使用前,均要將要恢復(fù)的分區(qū)卸載或掛載為只讀,防止數(shù)據(jù)被覆蓋使用

6.使用Extundelete工具恢復(fù)文件。

extundelete --inode 2 /dev/vdb1      #為查找某i節(jié)點中的內(nèi)容,使用2則說明為整個分區(qū)搜索,如果需要進入目錄搜索,只須要指定目錄I節(jié)點即可。這是可以看到刪除的文件名和inode
/usr/local/bin/extundelete  --restore-inode 12  /dev/vdb1    #恢復(fù)刪除的文件

這個時候會在執(zhí)行命令的同級目錄下出現(xiàn)RECOVERED_FILES目錄,查看是否恢復(fù)。

通過md5值查看,前后倆個文件,一樣說明恢復(fù)成功。

注:

--restore-inode 12                  # --restore-inode 按指定的I節(jié)點恢復(fù)
--extundelete --restore-all         # --restore-all   全部恢復(fù)

以上是使用開源工具Extundelete快速恢復(fù)被誤刪除掉數(shù)據(jù)的方法的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI