使用 ext3grep 恢复数据试验成功 笔记

使用 ext3grep 恢复数据试验成功 笔记
 
来源:  Linux论坛  日期: 2009.07.07 10:03 (共有条评论)  我要评论
 

[Copy to clipboard] [ - ]

CODE:

# software download address : [url]http://code.google.com/p/ext3grep/downloads/list[/url]
# 1、安装 cd /opt wget [url]http://ext3grep.googlecode.com/files/ext3grep-0.10.1.tar.gz[/url] tar -zxf ext3grep-0.10.1.tar.gz cd ext3grep-0.10.1 ./configure make make install
# 2、制造分区 mkdir /home/sheng cd /home/sheng dd if=/dev/zero of=file count=102400 mkfs.ext3 file # !!!!按Y继续 mount -o loop /home/sheng/file /mnt/
# 可以看到已经挂上去了 df -h
# 写入数据到 /mnt mkdir /mnt/del echo 1 > /mnt/del/1 echo 2 > /mnt/del/2 echo 3 > /mnt/del/3
# 删除数据 rm -rf /mnt/del
# 3、开始恢复 # 卸载文件所在的分区 /home/sheng/file umount /home/sheng/file # 查看 df -h
# 扫描分区 ext3grep /home/sheng/file --ls --inode 2
- - - - -
[[email protected] sheng]# ext3grep /home/sheng/file --ls --inode 2 Running ext3grep version 0.10.1 Number of groups: 7 Loading group metadata... done Minimum / maximum journal block: 447 / 4561 Loading journal descriptors... sorting... done The oldest inode block that is still in the journal, appears to be from 12454502                                                                                             09 = Sat Jun 20 06:23:29 2009 Number of descriptors in journal: 17; min / max sequence numbers: 2 / 3 Inode is Allocated Finding all blocks that might be directories. D: block containing directory start, d: block containing more directory entries. Each plus represents a directory start that references the same inode as a direc                                                                                             tory start that we found previously.
Searching group 0: DDD++ Searching group 1: Searching group 2: Searching group 3: Searching group 4: Searching group 5: Searching group 6: Writing analysis so far to ‘file.ext3grep.stage1‘. Delete that file if you want                                                                                              to do this stage again. Result of stage one:   3 inodes are referenced by one or more directory blocks, 2 of those inodes are                                                                                              still allocated.   1 inodes are referenced by more than one directory block, 1 of those inodes is                                                                                              still allocated.   0 blocks contain an extended directory. Result of stage two:   2 of those inodes could be resolved because they are still allocated. All directory inodes are accounted for!
Writing analysis so far to ‘file.ext3grep.stage2‘. Delete that file if you want                                                                                              to do this stage again. The first block of the directory is 433. Inode 2 is directory "". Directory block 433:           .-- File type in dir_entry (r=regular file, d=directory, l=symlink)           |          .-- D: Deleted ; R: Reallocated Indx Next |  Inode   | Deletion time                        Mode        File nam                                                                                             e ==========+==========+----------------data-from-inode------+-----------+========                                                                                             =    0    1 d       2                                         drwxr-xr-x  .    1    2 d       2                                         drwxr-xr-x  ..    2  end d      11                                         drwx------  lost+fou                                                                                             nd    3  end d    5497  D 1245450214 Sat Jun 20 06:23:34 2009  drwxr-xr-x  del [[email protected] sheng]#
- - - - -
# 查询 ext3grep /home/sheng/file --ls --inode 2
# 恢复单个 仅目录 里面的文件恢复失败 .. ext3grep /home/sheng/file --restore-file del --depth del
# 恢复目录里面的一个文件 ext3grep /home/sheng/file --restore-file del/1
# 恢复所有文件 ext3grep /home/sheng/file --restore-all

点击下载软件:ext3grep
1. 查看所需的相关库
[[email protected] ~]# rpm -qa |grep e2fsprogs
e2fsprogs-libs-1.39-8.el5
e2fsprogs-1.39-8.el5
e2fsprogs-devel-1.39-8.el5

注:RHEL4下没有libs程序,但依然可以安装ext3grep 0.7.0 必须要有e2fsprogs-libs,不然在后面ext3grep的安装会有问题。
2.查看一下分区情况: [[email protected] ~]# df –h

3. 需要软件 http://code.google.com/p/ext3grep/downloads/list 先下载软件 [[email protected] ~]# cd /root/src/ [[email protected] src]#  wget  http://ext3grep.googlecode.com/files/ext3grep-0.6.0.tar.gz  src 注:作者已下载过不再下载
4.安装ext3grep A.先挂载光盘

B.安装步骤:  1.[[email protected] ~]# tar zxvf ext3grep-0\[1\].10.1.tar.gz  –C  /usr/src  <将文件解压到/usr/src目录下> 2.[[email protected] ~]# cd /usr/src/ext3grep-0.10.1 ->  <进入目录中> 3.[[email protected] ~]#  ./configure      <配置> 4.[[email protected] ~]# make && make install  <编译并安装>

5.为方便实验,我们可以模拟一个出来,下面是模拟步骤: a.      #  mkdir  /data/ b.      #  cd /data/ c.      #  dd  if=/dev/zero  of=disk1  count=2048000 d.      #  mkfs.ext3  disk1 e.      #  mkdir  -p  /dfs/a f.       #  mount  -o  loop  /data/disk1  /asd/a

如图,已建立一个模拟分区/data/disk1
6./asd/a下新建文件beijing shanghai
7.后将beijingshanghai 文件删除

8. 文件没有了然后我们来恢复: 首先必须umount掉误删除数据的分区: [[email protected] ~]# umount /data/disk1 [[email protected] ~]# df –h

9. 确认卸载,然后使用ext3grep来恢复。 [[email protected] ~]# ext3grep  /data/disk1  --ls  --inode 2 这里会创建扫描分区

从图中可以看到被删除的beijing,shanghai两个文件
10.恢复数据 [[email protected] ~]# ext3grep  /data/disk1 --restore-file  shanghai
数据成功恢复 [[email protected] ~]# ext3grep  /data/disk1 --restore-file  Beijing
11.[[email protected] ~]# ls -la RESTORED_FILES/

注:被恢复的数据默认恢复到RESTORED_FILES/目录下
12.在RESTORED_FILES下的成功恢复的文件或目录可以做任意操做,作者将其又放回到了原位置

注:至此所有操做已做完,如果数据在其他分区中,同样卸载误删除数据的分区,执行和以上操作相同的恢复步骤!

时间: 2025-01-12 21:30:53

使用 ext3grep 恢复数据试验成功 笔记的相关文章

研发成功了从Sybase SQL Anywhere的DB文件上恢复数据的工具

之前就已经研发成功了能够从Sybase SQL Anywhere的DB文件中恢复数据的工具,现在公布一下. 此工具支持ASA v5.0,v6.0,v7.0,v8.0,v9.0,v10.0,v11.0,v12.0等版本.恢复Sybase SQL Anywhere的工具在国内应该算首创. 本工具的应用场景: 1.因为物理磁盘故障.操作系统.系统软件方面或者掉电等等原因导致的Sybase SQL Anywhere数据库无法打开的情况: 2.误操作,包括truncate table,drop table

用ext3grep恢复rm -rf 误删除的文件

Linux作为企业级服务器,数据安全性至关重要,任何有价值的数据被误删除都是不能容忍的,甚至可能带来大的灾难!作为linux系统管理员,一定要有 数据保护意思,不但要做好数据备份工作,还应该有在将重要数据误删除后恢复的能力.在这里给大家介绍一个开源的数据恢复工具ext3grep,该工具可以 恢复rm –rf误删除的文件 一.ext3grep的原理:利用ext3grep恢复文件并不依赖于任何文件格式,首先ext3grep利用root的inode来获取文件系统中所有的文件信息,包括存在的或已删 除的

Ubantu 使用extundelete恢复数据

所以在维护系统的时候,要慎之又慎,但是有时难免会出现数据被误删除的情况,在这个时候改如何快速.有效地恢复数据呢?本文我们就来介绍一下Linux系统下常用的几个数据恢复工具. 一.如何使用“rm -rf”命令在Linux系统下,通过命令“rm -rf”可以将任何数据直接从硬盘删除,并且没有任何提示,同时Linux下也没有与Windows下回收站类似的功能,也就意味着,数据在删除后通过常规的手段是无法恢复的,因此使用这个命令要非常慎重.在使用rm命令的时候,比较稳妥的方法是把命令参数放到后面,这样有

MySQL binlog日志恢复数据

我们了解了MySQL 的 binlog 日志的开启方式以及 binlog 日志的一些原理和常用操作,我们知道,binlog 有两大作用,一个是使用 binlog 恢复数据,另一个就是用来做主从复制.本篇笔记就是来记录如何使用 binlog 日志来做数据恢复.当然了,使用 binlog 日志所恢复的数据只能是部分数据,并不能够使用 binlog 日志来做数据库的备份,如果想要做数据库备份,依然要使用我们传统的备份方法,而 binlog 可以作为增量备份. 视频链接:http://www.ronco

金蝶KIS专业版替换SXS.dll 遭后门清空数据被修改为【恢复数据联系QQ 735330197,2251434429】解决方法 修复工具。

金蝶KIS专业版 替换SXS.dll 遭后门清空数据(凭证被改为:恢复数据联系QQ 735330197,2251434429)恢复解决方法. [客户名称]:山东青岛福隆发纺织品有限公司 [软件名称]:金蝶KIS专业版12.2 [数据库版本]:MS SQL server 2000  [数据库大小]:1GB  . [问题描述]:客户贪图便宜,使用破解版财务软件,破解者破解后内藏了后门,清空所有数据的触发器.用了1年时间后,后门触发器被激活,删除了所有 科目余额表.存货余额.存货往来明细账.修改了所有

mysql通过binlog来恢复数据

mysql通过binlog来恢复数据  一.什么是binlog 1.binlog基本定义:二进制日志,也成为二进制日志,记录对数据发生或潜在发生更改的SQL语句,并以二进制的形式保存在磁盘中: 二进制日志的信息: 文件位置:默认存放位置为数据库文件所在目录下 文件的命名方式: 名称为hostname-bin.xxxxx (重启mysql一次将会自动生成一个新的binlog) 2.配置binlog,在配置文件my.cnf中设置,并重启mysql 3.状态的查看:mysql> show variab

恢复数据:Xen Server服务器中一台VPS不可用

故障描述 1.硬件架构概述 服务器:Dell 720服务器配戴一张H710P的RAID卡. 存储阵列:由4块希捷2T STAT硬盘组成的RAID 10. 操作系统:Xen Server 6.2版本. 2.故障虚拟机概述 操作系统:Windows Server 2003. 应用:Web服务器(ASP + SQL 2005的网站架构). 虚拟磁盘:10G系统盘 + 5G数据盘. 故障描述:因特殊原因导致Xen Server服务器中一台VPS(即Xen Server虚拟机)不可用,虚拟磁盘中数据丢失.

RDS恢复数据到本地mysql(阿里云)

一.准备mysql环境 1.1.安装mysql依赖软件 [[email protected] src]# yum install -y gcc* gcc-c++* autoconf* automake* zlib* libxml* ncurses-devel* libgcrypt* libtool* cmake bison bison-devel* [[email protected] src]# wget http://www.cmake.org/files/v2.8/cmake-2.8.8.

mysql二进制日志恢复数据

1.开启mysql的二进制日志 在mysql的配置文件my.ini中添加: log-bin=mysql-bin(这个名称可以随便取,英文,不知道中文可不可以,没试过) 2.重启mysql 重启后,假如在mysql的存储数据的目录中出现一下文件,则已经二进制日志已经开启 mysql-bin.000001是mysql的二进制日志文件,不可以直接查看,可以通过导出数据查看,导出数据的语句为 解释一下:红色下划线的是mysql二进制mysql-bin.000001文件所在的目录,要进入这里执行后面的语句