Linux服务器恢复删除数据

来源:互联网 发布:网络侠客行txt下载 编辑:程序博客网 时间:2024/06/06 00:35
wget  http://zy-res.oss-cn-hangzhou.aliyuncs.com/server/extundelete-0.2.4.tar.bz2
执行如下命令,安装tundelete的相关依赖和库:

yum -y install  bzip2  e2fsprogs-devel  e2fsprogs  gcc-c++ make
执行如下命令,解压extundelete到当前目录下。

tar -xvjf extundelete-0.2.4.tar.bz2
cd extundelete-0.2.4
执行如下命令,检测系统配置,并生成makefile:

./configure
执行如下命令,编译安装extundelete软件:

make && make install
完成后,通过运行结果可以看到默认文件是安装到usr/locla/bin的路径下。
 执行如下命令,进入新增src目录,并查看extundelete可执行文件。

cd src
ls
   至此,完成extundelete工具的全部安装部署。
   
   
 现在模拟数据删除
 
 
 执行如下命令,查看分配的数据盘 /dev/vdb:
fdisk -l
执行如下命令,对数据盘进行分区:
fdisk /dev/vdb
  Command(m for help)输入 n;
  Command action 输入p;
  Partition number(1-4,default 1)输入1;
  First cylinder 和 Last cylinder 处直接输入 回车,使用默认的配置;
  Command(m for help)输入 w,从而使上面的配置生效。
  执行如下命令,对数据盘进行格式化:
mkfs.ext3 /dev/vdb1
通过如下步骤,创建文件路径,并挂载磁盘,以及新建实验数据:
执行如下命令,创建文件路径:
mkdir /alidata
执行如下命令,新建一个文件“hello.txt”,写入“Hello Aliyun”信息,并查看数据:

echo "Hello Aliyun">/alidata/hello.txt
执行如下命令,生成hello.txt文件的md5值。主要用于下一小节恢复文件时,进行校验。
md5sum hello.txt
执行如下命令,进入/alidata 路径下,并删除hello.txt文件:

cd /alidata
rm -rf hello.txt


在真实的工作环境中,若已确认没有资源占用,可跳过此步骤。
fuser -k /alidata       会断开xshell

执行如下命令,卸载数据盘
umount /dev/vdb1
执行如下命令,使用extundelete工具,对整个 /dev/vdb1 分区进行搜索,并查看hello.txt的 Inode number 和 Delete status。

extundelete --inode 2 /dev/vdb1
说明:--inode参数值设为 2 ,是对整个分区进行搜索。如果需要进入目录搜索,只需要制定目录 I 节点即可。
 执行如下命令,使用extundelete工具,恢复删除文件:
 extundelete  --restore-inode 12  /dev/vdb1
 说明:通过上一步,我们可以看到 hello.txt 的节点值为 12 。--restore-inode 参数值是需要恢复的文件 Inode number
 执行如下命令,可以查看到当前目录下,新增一个 RECOVERED_FILES 文件夹,并查看到文件 file.12。
  执行如下命令,查看恢复的文件md5值,判断是否恢复原有的文件:



参照

rm -rf bin/      这是模拟删除
 umount alidata/    卸载此分区
 ls -id alidata/     查看inode码
 extundelete /dev/vdb1 --restore-inode 52429  通过inode节点恢复
 extundelete /dev/vdb1 --restore-all   恢复所有文件

























原创粉丝点击