日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

linux下使用extundelete恢复ext3/ext4分区数据

發布時間:2025/3/19 linux 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux下使用extundelete恢复ext3/ext4分区数据 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Windows平臺恢復誤刪數據so easy,但是linux就沒那么簡單了,因為沒有“回收站”。BUT,如果有一天真的不小心誤刪了文件,那如何是好?那就借助恢復神器extundelete了。

以下均為本人虛擬機上操作,經測試,文件系統ext3/ext4均適用。

一、安裝extundelete

1、需要安裝依賴包,否則編譯不通過

[root@reed?/]#yum?install?e2fsprogs*?-y

2、下載并安裝extundelete

下載地址:https://sourceforge.net/projects/extundelete/files/latest/download

[root@reed?/]#tar?-jxvf?extundelete-0.2.4.tar.bz2? [root@reed?/]#cd?extundelete-0.2.4 [root@reed?/]#./configure?--prefix=/usr/local/extundelete [root@reed?/]#make?&&?make?install

3、配置臨時環境變量,如果永久則寫到profile

[root@reed?/]#PATH=$PATH:/usr/local/extundelete/bin

4、驗證是否安裝成功

[root@reed?/]#?extundelete?-v extundelete?version?0.2.4 libext2fs?version?1.41.12 Processor?is?little?endian.

二、恢復已刪除數據

為方便測試,新建了一個單獨的分區/dev/sdb1,掛載/reed

[root@reed?/]#mount?/dev/sdb1?/reed

1、創建測試文件

[root@reed?/]#?cd?/reed/ [root@reed?reed]#?cp?~/extundelete-0.2.4.tar.bz2?. [root@reed?reed]#?echo?"reed">>del.file [root@reed?reed]#?ll total?132 -rw-r--r--?1?root?root??????5?Mar?16?07:20?del.file -rw-r--r--?1?root?root?108472?Mar?16?07:20?extundelete-0.2.4.tar.bz2 drwx------?2?root?root??16384?Mar?16?06:45?lost+found

2、刪除文件

[root@reed?reed]#?rm?* rm:?remove?regular?file?`del.file'??y rm:?remove?regular?file?`extundelete-0.2.4.tar.bz2'??y rm:?cannot?remove?`lost+found':?Is?a?directory [root@reed?reed]#?ll total?16 drwx------?2?root?root?16384?Mar?16?06:45?lost+found

3、查看/reed的inode值

[root@reed?reed]#?ls?-id?/reed 2?/reed

4、卸載/reed分區

[root@reed?reed]#?cd?.. [root@reed?/]#?umount?/reed

5、恢復已刪除數據

注:默認被刪文件會恢復到當前目錄下的RECOVERED_FILES目錄

5.1先查看已刪除文件

[root@reed?/]#?extundelete?/dev/sdb1?--inode=2 NOTICE:?Extended?attributes?are?not?restored. Loading?filesystem?metadata?...?8?groups?loaded. Group:?0 Contents?of?inode?2: 0000?|?ed?41?00?00?00?10?00?00?ec?98?e8?56?e9?98?e8?56?|?.A.........V...V 0010?|?e9?98?e8?56?00?00?00?00?00?00?03?00?08?00?00?00?|?...V............ 0020?|?00?00?00?00?00?00?00?00?41?02?00?00?00?00?00?00?|?........A....... 0030?|?00?00?00?00?00?00?00?00?00?00?00?00?00?00?00?00?|?................ 0040?|?00?00?00?00?00?00?00?00?00?00?00?00?00?00?00?00?|?................ 0050?|?00?00?00?00?00?00?00?00?00?00?00?00?00?00?00?00?|?................ 0060?|?00?00?00?00?00?00?00?00?00?00?00?00?00?00?00?00?|?................ 0070?|?00?00?00?00?00?00?00?00?00?00?00?00?00?00?00?00?|?................ 0080?|?1c?00?00?00?00?00?00?00?00?00?00?00?00?00?00?00?|?................ 0090?|?6e?90?e8?56?00?00?00?00?00?00?00?00?00?00?00?00?|?n..V............ 00a0?|?00?00?00?00?00?00?00?00?00?00?00?00?00?00?00?00?|?................ 00b0?|?00?00?00?00?00?00?00?00?00?00?00?00?00?00?00?00?|?................ 00c0?|?00?00?00?00?00?00?00?00?00?00?00?00?00?00?00?00?|?................ 00d0?|?00?00?00?00?00?00?00?00?00?00?00?00?00?00?00?00?|?................ 00e0?|?00?00?00?00?00?00?00?00?00?00?00?00?00?00?00?00?|?................ 00f0?|?00?00?00?00?00?00?00?00?00?00?00?00?00?00?00?00?|?................Inode?is?Allocated File?mode:?16877 Low?16?bits?of?Owner?Uid:?0 Size?in?bytes:?4096 Access?time:?1458084076 Creation?time:?1458084073 Modification?time:?1458084073 Deletion?Time:?0 Low?16?bits?of?Group?Id:?0 Links?count:?3 Blocks?count:?8 File?flags:?0 File?version?(for?NFS):?0 File?ACL:?0 Directory?ACL:?0 Fragment?address:?0 Direct?blocks:?577,?0,?0,?0,?0,?0,?0,?0,?0,?0,?0,?0 Indirect?block:?0 Double?indirect?block:?0 Triple?indirect?block:?0File?name???????????????????????????????????????|?Inode?number?|?Deleted?status .?????????????????????????????????????????????????2 ..????????????????????????????????????????????????2 lost+found????????????????????????????????????????11 extundelete-0.2.4.tar.bz2?????????????????????????12?????????????Deleted del.file??????????????????????????????????????????13?????????????Deleted

標記為”Deleted”的文件則是被刪除的文件

5.2恢復

[root@reed?/]#?extundelete?--restore-all?/dev/sdb1 NOTICE:?Extended?attributes?are?not?restored. Loading?filesystem?metadata?...?8?groups?loaded. Loading?journal?descriptors?...?23?descriptors?loaded. Searching?for?recoverable?inodes?in?directory?/?...? 2?recoverable?inodes?found. Looking?through?the?directory?structure?for?deleted?files?...? 0?recoverable?inodes?still?lost. [root@reed?/]#?ll?RECOVERED_FILES/ total?112 -rw-r--r--?1?root?root??????5?Mar?16?07:25?del.file -rw-r--r--?1?root?root?108472?Mar?16?07:25?extundelete-0.2.4.tar.bz2

5.3大功告成。

當然還有很多其它參數,如可以指定恢復某個時間點的文件。


三、延伸知識:linux系統rm刪除文件的原理

轉自:http://blog.csdn.net/grantlee1988/article/details/8057228

很多時候,我們都會發現,某個進程在對當前文件讀寫,但是我們依然能夠rm, 是不是很奇怪?而windows下面,肯定會報錯,”當前文件正在被使用“, 這就得從linux下面刪除文件的原理說起了。
  
  
   Linux是通過link的數量來控制文件刪除的,只有當一個文件不存在任何link的時候,這個文件才會被刪除。一般來說,每個文件都有2個link計數器:i_count 和 i_nlink。
  
   i_count的意義是當前文件使用者(或被調用)的數量,i_nlink 的意義是介質連接的數量(硬鏈接的數量);可以理解為i_count是內存引用計數器,i_nlink是磁盤的引用計數器。
  
  當一個文件被某一個進程引用時,對應i_count數就會增加;當創建文件的硬鏈接的時候,對應i_nlink數就會增加。
  
   對于刪除命令rm而言,實際就是減少磁盤引用計數i_nlink。這里就會有一個問題,如果一個文件正在被某個進程調用,而用戶卻執行rm操作把文件刪除了,那么會出現什么結果呢?當用戶執行rm操作刪除文件后,再執行ls或者其他文件管理命令,無法再找到這個文件了,但是調用這個刪除的文件的進程卻在繼續正常執行,依然能夠從文件中正確的讀取及寫入內容。這又是為什么呢?
  
  這是因為rm操作只是將文件的i_nlink減少了,如果沒其它的鏈接i_nlink就為0了;但由于該文件依然被進程引用,因此,此時文件對應的i_count并不為0,所以即使執行rm操作,但系統并沒有真正刪除這個文件,當只有i_nlink及i_count都為0的時候,這個文件才會真正被刪除。也就是說,還需要解除該進程的對該文件的調用才行。
  
  以上講的i_nlink及i_count是文件刪除的真實條件,但是當文件沒有被調用時,執行了rm操作刪除文件后是否還可以找回被刪的文件呢?
  
  前面說了,rm操作只是將文件的i_nlink減少了,或者說置0了,實際就是將文件名到inode的鏈接刪除了,此時,并沒有刪除文件的實體即(block數據塊),此時,如果及時停止機器工作,數據是可以找回的,如果此時繼續寫入數據,那么當新數據就可能會被分配到被刪除的數據的block數據塊,此時,文件就會被真正的回收了

?

備注:根據以上原理,實際情況會出現以下問題,web服務器磁盤空間不夠了,刪除了所有無用日志還是先是磁盤空間不足,但是用du -sh /*發現磁盤空間占用的遠小于硬盤總大小,這就是因為只刪除了一個i_nlink,而還有其他進程在使用著這些log文件,apache或者tomcat,重啟再看就ok了。



轉載于:https://blog.51cto.com/luweikai/1751688

總結

以上是生活随笔為你收集整理的linux下使用extundelete恢复ext3/ext4分区数据的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。