数据被毁怎么办 数据恢复过程分享

一、背景
突发事件,应用上传的数据被程序自动删掉了,可悲的是还没有数据备份,数据是放在系统的 /data/webapps/xxxx/upload 目录下面,可把我们急坏了,之前又没有做过数据恢复的测试,然后我找到了一款数据恢复的软件,成功把删除的大部分数据找回来了,我的数据恢复过程如下。
二、安装恢复软件
1、epel 仓库安装
如果我们的源里面添加了 epel 仓库的话,我们可以直接使用下面的命令安装。
2、源码编译安装
三、删除数据查找
因为我的数据路径比较深,所以我们需要一步步查找,可以先从根分区 inode 查找
我们会看到 weapps 目录的inode,
我们看到项目的 inode,
我们找到了最终删除数据的目录 upload
我们可以看到标称的 deleted,这些数据就是我们要进行恢复的数据。
四、数据恢复
那我们就恢复指定目录,以当前分区为根分区进行路径设定,项目名进行掩盖
因为磁盘数据一直在读写,所以有些文件之前的 inode 已经被重新分配了,导致部分数据无法恢复,数据最后会告诉我们有多少文件没有回复,但是大部分数据我们已经恢复了,这就是很重要的事情了。
那我们查看一下回复的数据吧,软件会在当前目录生成一个目录recovered_files 里面就是我们恢复的数据。
恢复全部数据可以使用命令
使用方法
extundelete --help
其中,参数(options)有:
--version, -[vv],显示软件版本号。
--help,显示软件帮助信息。
--superblock,显示超级块信息。
--journal,显示日志信息。
--after dtime,时间参数,表示在某段时间之后被删的文件或目录。
--before dtime,时间参数,表示在某段时间之前被删的文件或目录。
动作(action)有:
--inode ino,显示节点“ino”的信息。
--block blk,显示数据块“blk”的信息。
--restore-inode ino[,ino,...],恢复命令参数,表示恢复节点“ino”的文件,恢复的文件会自动放在当前目录下的restored_files文件夹中,使用节点编号作为扩展名。
--restore-file 'path',恢复命令参数,表示将恢复指定路径的文件,并把恢复的文件放在当前目录下的recovered_files目录中。
--restore-files 'path',恢复命令参数,表示将恢复在路径中已列出的所有文件。
--restore-all,恢复命令参数,表示将尝试恢复所有目录和文件。
-j journal,表示从已经命名的文件中读取扩展日志。
-b blocknumber,表示使用之前备份的超级块来打开文件系统,一般用于查看现有超级块是不是当前所要的文件。
-b blocksize,通过指定数据块大小来打开文件系统,一般用于查看已经知道大小的文件。
在数据删除之后,首先要卸载被删除数据所在的磁盘或是分区,如果是系统根分区遭到误删除,就需要进入单用户模式下,将根分区以只读的方式挂载。
原因:因为文件删除之后,仅仅是将文件的inode节点中的扇区指针清零,实际上文件还存在磁盘上面,如果磁盘以读写方式挂载,这些删除的数据块可能会被系统从新分配出去,这些数据块被覆盖之后,这些数据就真的丢失了,所以以只读的方式挂载,尽可能避免数据被覆盖。


"第三届N+AI/AR/VR 国际技术峰会"盛情邀请您的加入~
若华为Mate40 Pro用上高通芯片,和小米旗舰手机比有何优势?
变电检修的重要性有哪些
Nreal完成6,000万美元C+轮融资
汉威科技集团自主研发激光燃气巡检车 构建安全智慧的燃气环境
数据被毁怎么办 数据恢复过程分享
宏程序提供了替代其他雷尼绍触发式循环的有力方案
Arasan推出超低功耗D-PHY IP
教育机器人的优势和劣势_教育机器人的种类
e络盟备有 Vishay Super 12 现货,可当天发货
模拟芯片企业亚德诺加大对中国的投资,希望通过中国获取更多的市场
人工智能推进企业数字化转型,但落地仍面临诸多挑战
DP200 J01 Modbus-PROFIBUS转换器
感应器组合最全面的机芯即将发布
鼓励新能源汽车发展是趋势并且补贴政策也需要继续坚持
为什么面包板不适合高频电路?
盘点Mini LED车载相关企业及进度
三星发布旗下首款5G基带芯片
超快激光微纳加工对空间光调制器的要求
NVIDIA收购ARM或将迎来反转,英国考虑否决的相关事宜