zoukankan      html  css  js  c++  java
  • ext3文件系统反删除利器-ext3grep

    导读 Linux作为企业级服务器,数据的安全性至关重要,任何数据德尔丢失和误删都是不可容忍的!最近我接触到一款软件-ext3grep,它可以恢复误删的数据,下面简单讲解一下这个软件。
    ext3grep的恢复原理

    利用ext3grep恢复文件时并不依赖特定文本格式。首先ext3grep通过文件系统的root inode(根目录的inode一般为2)来获取当前文件系统下所有文件的信息,包括存在的和已经删除的文件,这些信息包括文件名和inode。然后利用inode信息结合日志去查询该inode所在的block位置,包括直接块、间接块等信息。最后利用dd命令将这些信息备份出来,从而恢复数据文件。

    ext3grep的安装

    ext3grep官方网站:http://code.google.com/p/ext3grep/

    网盘下载:http://pan.baidu.com/s/1i47ZPsT

    所需的系统相关包如下:

    [root@localhost ~]#rpm -qa | grep e2fsprogs
    
    e2fsprogs-libs-1.39-8.el5
    
    e2fsprogs-1.39-8.el5
    
    e2fsprogs-devel-1.39-8.el5

    以上三个都必须安装,不然后面的安装会出现问题。

    下面进入编译安装阶段,过程如下:

    [root@localhost /opt]# tar zxvf ext3grep-0.10.2.tar.gz
    [root@localhost ext3grep-0.10.2]# ./configure
    [root@localhost ext3grep-0.10.2]# make
    [root@localhost ext3grep-0.10.2]# make install
    [root@localhost ext3grep-0.10.2]# ext3grep -v
    Running ext3grep version 0.10.2

    默认的ext3grep命令放在/usr/local/bin目录下,请通过“ext3grep --help”获取详细使用帮助。

    实战ext3grep恢复文件
    模拟数据误删环境

    下面通过一个模拟环境,详细介绍使用ext3grep恢复数据文件的过程:

    [root@localhost ~]# mkdir /disk
    [root@localhost ~]# mkdir /mydata
    [root@localhost ~]# cd /mydata
    [root@localhost mydata]# dd if=/dev/zero  of=/mydata/disk1 count=102400
    [root@localhost mydata]#mkfs.ext3 /mydata/disk1

    ext3grep-mkfs

    [root@localhost mydata]#mount -o loop /mydata/disk1  /disk
    [root@localhost mydata]#cd /disk
    [root@localhost disk]# cp /etc/profile /disk
    [root@localhost disk]# cp /boot/initramfs-2.6.32-220.el6.i686.img /disk
    [root@localhost disk]#echo"I am archy" > ext3grep.txt
    [root@localhost disk]#mkdir /disk/ext3grep
    [root@localhost disk]#cp /etc/hosts /disk/ext3grep
    [root@localhost disk]#ls -al

    ext3grep-ls

    [root@localhost disk]#md5sum profile
    [root@localhost disk]#md5sum initramfs-2.6.32-220.el6.i686.img
    [root@localhost disk]#md5sum ext3grep.txt
    [root@localhost disk]#rm -rf /disk/*
    [root@localhost /opt]# umount /disk
    
    查询数据恢复信息

    执行如下命令,查询需要恢复的数据信息:

    [root@localhost /opt]# ext3grep /mydata/disk1  --ls --inode 2

    ext3grep-inode

    这条命令主要用于扫描当前文件系统下所有的信息,包括存在的和已删除的文件,其中含有D标识的就是文件已被删除。通过以下命令可以获取文件要恢复的路径信息:

    [root@localhost /opt]# ext3grep /mydata/disk1  --dump-names

    ext3grep-dump

    恢复删除数据

    单个文件恢复命令如下:

    [root@localhost /opt]# ext3grep /mydata/disk1  --restore-file  ext3grep.txt
    

    ext3grep-rsstore

    恢复的文件存放在/opt/RESTORED_FILES目录下。

    恢复所有已删除数据的命令如下:

    [root@localhost /opt]# ext3grep /mydata/disk1  --reatore-all
  • 相关阅读:
    zoj 3627#模拟#枚举
    Codeforces 432D Prefixes and Suffixes kmp
    hdu 4778 Gems Fight! 状压dp
    CodeForces 379D 暴力 枚举
    HDU 4022 stl multiset
    手动转一下田神的2048
    【ZOJ】3785 What day is that day? ——KMP 暴力打表找规律
    poj 3254 状压dp
    C++中运算符的优先级
    内存中的数据对齐
  • 原文地址:https://www.cnblogs.com/linux130/p/5764236.html
Copyright © 2011-2022 走看看