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.