误删数据恢复系列1

简介: 误删数据恢复系列1

数据误删一般有两种场景,一是从数据盘直接删除,二是从数据库删除。今天主要介绍场景1数据盘数据误删

常见情况下来说呢,数据盘数据误删主要有两种场景:

场景一 :在执行rm -rf 删除文件时,该文件正在被进程使用。

场景二:这个文件没有被进程占用,从而被误删除。

所以理论上可以通过block块找回数据,因为上面保存着真实的数据。

风险:如果有进程在在不断地往磁盘写数据时,需要申请新的block块,如果操作系统分配已删除的block块时,新写入的数据就会覆盖原来的数据,此时就会造成数据真正丢失。

在这种情况下,应该第一时间umount目录所在的磁盘,或者不对磁盘进行任何写入,以保证理论数据还存在磁盘上,那么还可以通过相关分析找回数据。

针对场景一 搭建测试环境:

# 创建测试文件夹

mkdir /tmp/test

# 创建测试文件

echo "aaa.al" > /tmp/test/aaa.txt

tail -f /tmp/test/aaa.txt

此时,新开一个终端二,删除aaa.txt文件。

rm -rf /tmp/test/aaa.txt

此时的状态为终端一仍在占用进程,终端二中把文件删除掉了。

场景一恢复:

下面执行恢复操作,使用lsof命令:

# lsof | grep 删除的文件名,如:

lsof | grep aaa.txt

可以看到查询出来的结果处于“deleted”的状态,我需要找到此进程的pid,比如我这里的结果pid为9403。

根据pid号查找文件句柄:

# cd /proc/记录的pid号/fd,如:

cd /proc/1364000/fd

ll

恢复文件,执行以下命令,可以看到数据已经恢复回来了。

cp 3 /tmp/test/aaa.txt.bak

cat /tmp/test/aaa.txt.bak

4、场景二演示

场景二搭建:

我们这里使用单独的一块硬盘来做演示,我这里的硬盘是/sdb1,格式为ext4。

我这里在挂载的目录创建aaa.txt,写入内容和aaa的文件夹。

echo "aaa.al" > /test/aaa.txt

mkdir -p  /test/aaa

cd /test

ls

然后对硬盘内容删除:

cd /test

rm -rf *

ls

场景二恢复:

恢复前需要对硬盘进行取消挂载:

umount /test -l

# 创建一个用于恢复数据的目录

mkdir /tmp/test

cd /tmp/test

执行extundelete命令,如果没有此命令,可以直接安装:

yum -y install epel-release

yum -y install extundelete

完成后,执行命令,可以看到最后显示出误删除的文件,状态为Deleted。

开始恢复文件,找到我们需要恢复文件的Inode number,比如我这里图示为12,则执行以下命令,执行后,会在当前目录下生成RECOVERED_FILES目录,里面包含我们恢复的文件:

同样还可以恢复文件夹和所有文件,命令格式如下:

1)通过inode号(extundelete /dev/sdb1 --restore-inode InodeNum)

2)通过file文件名(extundelete /dev/sdb1 --restore-file FileName)

3)通过directory目录名(extundelete /dev/sdb1 --restore-directory DirectoryName)

4)all全部恢复(extundelete /dev/sdb1 --restore-all)

同样的xfs格式可以使用xfs_undelete工具修复

下载地址https://github.com/ianka/xfs_undelete

tcllib下载地址:https://download-ib01.fedoraproject.org/pub/epel/7/x86_64/Packages/t/tcllib-1.14-1.el7.noarch.rpm

xfs文件系统删除恢复

查看文件系统格式

df -h

cd /data                                                            

ls -l    

ls -l ahi-python

find ./ -name *.gz|xargs ls -l

rm -rf /data/*  

发现误删除文件后,立马把误删除文件所在的分区设置成只读状态,或者卸载掉该分区,让分区没有写操作

umount /data/            

使用xfs_undelete工具修复

误删文件所在的文件系统格式是xfs,所以选择了xfs_undelete工具进行修复

https://github.com/ianka/xfs_undelete

tcllib下载地址:

https://download-ib01.fedoraproject.org/pub/epel/7/x86_64/Packages/t/tcllib-1.14-1.el7.noarch.rpm

源码安装tcllib

# tar -xf pgs.tar.gz                                                  

# cd pgs/ # tar -xf tcl8.6.11-src.tar.gz                              

# cd tcl8.6.11/unix/                                                  

# ./configure && make && make install  

# cd /opt/pgs/                                                      

# ls -l      

执行xfs_undelete工具找回误删的文件

# unzip xfs_undelete-master.zip                                    

# cd xfs_undelete-master                                            

# ls -l

存放在目录下./xfs_undeleted,文件和之前的有差异,根据文件比对找到对应的数据,主要恢复sh、py和zip文件

# find ./ -name *.gz|xargs ls -l          

# tar -tf ./2021-02-24-21-00_423425453.tar.gz|head -n 10    

使用testdisk工具找回文件

这个工具使用比较简单,无需源码编译,解压即可使用

https://www.cgsecurity.org/wiki/TestDisk

photorec找回文件

# tar -xf testdisk-7.2-WIP.linux26-x86_64.tar.bz2                  

# cd testdisk-7.2-WIP                                              

# ]# mkdir data_recovery                                            

# ./photorec_static                                                

选择/dev/mapper/centos-data逻辑分区 ,Proceed继续

选择XFS分区,file opt可以选择修复的文件类型,如txt压缩等等,最后选择search继续

选择other文件系统,enter继续

选择要恢复文件所要存放的路径

开始恢复文件

相关文章
|
6月前
|
SQL 数据库 数据安全/隐私保护
误删数据怎么办?
误删数据怎么办?
|
存储 安全
u盘文件损坏怎么恢复数据 ,兔八哥爱分享轻松带你恢复数据
随着电脑和移动设备的广泛使用,U盘已经成为了人们在数据传输和备份中不可或缺的重要工具之一。特别是在计算机方面,一天要用的数据很多。但有时,我们可能会遇到U盘文件损坏的情况,导致无法访问里面的数据,又不清楚是什么原因造成的,这也是很让人烦恼的。那我们可以用什么方法呢?其实先了解u盘出现损坏的原因再对症下药会简单很多。今天兔八哥爱分享就给大家分享一些 u盘恢复数据方法,操作方法简单实用,大家可以试试!
2508 0
u盘文件损坏怎么恢复数据 ,兔八哥爱分享轻松带你恢复数据
|
3月前
|
固态存储 Java
磁盘误删卷数据恢复工具
磁盘误删卷数据恢复工具
36 0
|
6月前
|
SQL 关系型数据库 MySQL
恢复误删除的mysql数据库
恢复误删除的mysql数据库
204 1
|
存储 编解码 搜索推荐
EasyRecovery2023数据恢复好用吗?
误删重要文件这样的事想必大家都不陌生,有时粗心起来可能经常会出现这样的事情。现代人的生活和工作基本离不开电脑等多媒体设备,每天需要处理的文件量和数据量也是呈指数增长,所以一款能够实现误删数据修复的软件可以说是当代人的电脑必装了。本以为在电脑中都找不到的文件肯定是恢复不了,没想到易恢复文件恢复软件能给恢复好。第一次用这个文件恢复软件,操作简单很喜欢,回收站删除的文件都给恢复了,功能很强大,赞!
158 0
|
存储 Windows
不小心把u盘里的文件删除了怎么恢复丢失怎么办?,用什么数据恢复软件恢复
自从手机和电脑可以无线传输文件后,U盘就被遗忘在包里,偶尔看见,但基本上没再用过。昨天突然想看看U盘里还有什么文件资料,结果,插在电脑上却读不出来,这是怎么回事呢?u盘在电脑上读不出来数据怎么修复?紧急求救身边的懂电脑小哥哥,他教我一招,就轻松解决了这个难题。
262 0
不小心把u盘里的文件删除了怎么恢复丢失怎么办?,用什么数据恢复软件恢复
|
存储 监控 固态存储
EasyRecovery数据恢复可以轻松恢复删除和丢失的任何数据
Ontrack EasyRecovery易恢复是由全球著名数据厂商Kroll Ontrack出品的一款专业级数据文件恢复软件,号称最好的数据恢复软件!
246 0