針對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工具可以實現對誤刪數據的回覆,
總結
-
使用rm一定要謹慎
-
磁盤按照功能進行分區是必要的
-
最少掌握一種數據恢復方式