誤刪除Linux系統文件了?這個方法教你解決

收藏待读

誤刪除Linux系統文件了?不用急,本文將給你一個恢復Linux文件的方法,讓你輕鬆應對運維中的各風險問題。方法總比問題多~

說在前面的話

針對日常維護操作,難免會出現文件誤刪除的操作。大家熟知Linux文件系統不同win有回收站,刪除後的文件可以到垃圾箱尋回,要知道Linux文件修複比較費勁,網絡上面的文檔也是五花八門。所以本次研究一種比較靠譜的文件和目錄恢復方法,也給維護人員留一條後路。

分析對比debugfs. testdisk 6.14. extundelete,對比各自官網介紹和操作說明本次決定研究extundelete對文件和目錄的恢復操作。

extundelete下載官網地址: https://pkgs.org/download/extundelete

誤刪除Linux系統文件了?這個方法教你解決

Linux下文件誤刪除,使用extundelete恢複測試過程

1、給虛擬主機添加一塊磁盤,磁盤為/dev/sdb,如下:

誤刪除Linux系統文件了?這個方法教你解決

2、格式化磁盤,並進行掛載

# mkfs.ext4 /dev/sdb  
# mkdir /usr/local/dbdata/  
# mount /dev/sdb /usr/local/dbdata/ 

誤刪除Linux系統文件了?這個方法教你解決

3、測試誤操作刪除以下文件

/usr/local/dbdata/gperftools-2.4.tar.gz #文件  
/usr/local/dbdata/pcre-8.32 #目錄 

執行誤操作:

# rm -rf /usr/local/dbdata/gperftools-2.4.tar.gz /usr/local/dbdata/pcre-8.32 

4、將誤操作所在分區進行只讀保護

如果確定文件被誤刪,在沒有備份的情況下請馬上對分區實施寫入保護(預防新的寫入覆蓋誤刪的塊數據,因此權限給只讀):

# mount -o remount,ro /dev/sdb  
# mount -o remount,ro /usr/local/dbdata/ 

5、數據恢復工具安裝

工具安裝部署

官方網站是 http://extundelete.sourceforge.net/ ,其目前的穩定版本是extundelete-0.2.4.

工具下載

# wget https://nchc.dl.sourceforge.net/project/extundelete/extundelete/0.2.4/extundelete-0.2.4.tar.bz2 

解壓安裝

依賴包

# yum -y install gcc-c++ e2fsprogs.x86_64 e2fsprogs-devel.x86_64  
# tar -jxvf extundelete-0.2.4.tar.bz2  
# cd extundelete-0.2.4  
# ./configure  
# make && make install 

驗證安裝結果

# extundelete -v 

6、文件恢復過程

恢復指定文件:

原理:從根節點(inode=2)開始找到被刪除文件的i節點,然後recover i節點。

以下是模擬刪除gperftools-2.4.tar.gz(文件)和pcre-8.32 (目錄)

先檢測被刪除的文件有哪些:

# extundelete /dev/sdb --inode 2 

誤刪除Linux系統文件了?這個方法教你解決

從圈出來的可以看到,有以下兩個

gperftools-2.4.tar.gz 15 Deleted  
pcre-8.32 655361 Deleted 

注意:恢復過程不要在誤刪分區進行,謹防inode. block塊相互覆蓋

先恢復文件(可根據文件名進行恢復):

# extundelete /dev/sdb --restore-file gperftools-2.4.tar.gz 

誤刪除Linux系統文件了?這個方法教你解決

恢複目錄(根據目錄名恢復):

# extundelete /dev/sdb --restore-directory pcre-8.32 

誤刪除Linux系統文件了?這個方法教你解決

最後會在當前目錄下看到一個名為RECOVERED_FILES的目錄,在目錄里就可以看到被誤刪除的文件以及目錄:

說在後面的話

誤刪除Linux系統文件了?這個方法教你解決

根據上面操作證明extundelete 工具可以實現對誤刪數據的恢復,而且操作簡單。

總結:

1、使用rm一定要謹慎

2、磁盤按照功能進行分區是必要的

3、最少掌握一種數據恢復方式

原文 : 51CTO運維頻道

相關閱讀

免责声明:本文内容来源于51CTO运维频道,已注明原文出处和链接,文章观点不代表立场,如若侵犯到您的权益,或涉不实谣言,敬请向我们提出检举。