誤刪Linux系統文件解決

針對linux系統誤刪操作使用extundelete對文件個目錄的回覆操作

extundelete下載官網地址:

https://pkgs.org/download/extundelete

Linux下文件誤刪除,使用extundelete回覆測試

1.給虛擬主機添加一塊磁盤,磁盤爲/dev/sdb,

 

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

mkfs.ext4 /dev/sdb

mkdir /usr/local/dbdata

mount /dev/sdb /usr/local/dbdata/

 

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

 

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

gperftools-2.4.tar.gz 15 Deleted

pcre-8.32 655361 Deleted

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

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

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

 

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

 

根據上面操作證明extundelete工具可以實現對誤刪數據的回覆,

總結

  1. 使用rm一定要謹慎

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

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章