1、下載安裝ext3grep源碼包
tar zxvf ext3grep-0.10.1.tar.gz
cd ext3grep-0.10.1
./configure
make
make install
ext3grep -v
2、掛在分區到目錄
mount /dev/sdb1 /test
創建測試刪除文件
cd /test
touch aa
刪除文件
3、ll -id /test
查看inode號
4、查看刪除的文件
ext3grep /dev/sdb1 --ls --inode 2
圖表中D表示刪除的文件
恢復文件
ext3grep /dev/sdb1 --restore-file aa
恢復的數據文件存放在當前目錄的RESTORED_FILES目錄中 至此完成。 如要回復所有 則使用--restore-all參數
————————————————————————————————————
回覆數據庫篇
1、準備步驟
測試————將mysql的數據庫修改到/root/test 硬盤爲邏輯卷/dev/mapper/vg1-lv1
ll -id /root/test 的inode爲2
停止數據庫 注:(數據庫更改數據庫位置需重新初始化,初始化完成後注意刪除多出來的my.cnf文件,若原本有my.cnf文件則初始化會重新生成一個新的文件爲my-new.cnf文件 刪除即可,另外要修改新的數據庫目錄的屬主和屬組)初始化完成重新設置root密碼 然後啓動 連接數據庫
2、配置完成後 創建測試表,然後在刪除
create table aa(aa char(8),bb char(8));
drop table aa;
退出數據庫 停止數據庫 卸載數據庫目錄所在目錄的硬盤
umount umount /dev/mapper/vg1-lv1
3、查詢刪除的數據庫表
首先對數據庫所在的目錄的inode進行掃描
ext3grep /dev/mapper/vg1-lv1 --ls --inode 2
| .-- D: Deleted ; R: Reallocated
Indx Next | Inode | Deletion time Mode File name
==========+==========+----------------data-from-inode------+-----------+=========
0 1 d 2 drwxr-xr-x .
1 2 d 2 drwxr-xr-x ..
2 3 d 11 drwx------ lost+found
3 4 d 475137 drwx------ test
4 5 r 13 rrw-r--r-- bb
5 6 r 12 rrw-r----- localhost.localdomain.err
6 7 r 14 rrw-rw---- ibdata1
7 8 r 17 rrw-rw---- auto.cnf
8 9 r 16 rrw-rw---- ib_logfile1
9 10 r 15 rrw-rw---- ib_logfile0
10 11 d 1171457 drwx------ mysql
11 end d 229377 drwx------ performance_schema
12 end r 18 D 1425351401 Tue Mar 3 10:56:41 2015 rrw-rw---- localhost.localdomain.pid
數據庫目錄在test中 inode爲475137 查出表文件所在的目錄的inode 在根據inode查詢表 然後在恢復
ext3grep /dev/mapper/vg1-lv1 --ls --inode 475137
測試出問題
There is no directory block associated with inode 475137.