恢复误删文件

恢复误删除文件

在数据被误删除后,第一时间要做的就是卸载被删除数据所在的分区,如果是根分区的数据遭到误删,就需要将系统进入单用户模式,并且将根分区以只读模式挂载。这样做的原因很简单,因为将文件删除后,仅仅是将文件的inode节点中的扇区指针清零,实际文件还储存在磁盘上,如果磁盘继续以读写模式挂载,这些已删除的文件的数据块就可能被操作系统重新分配出去,在这些数据库被新的数据覆盖后,这些数据就真的丢失了,恢复工具也无力回天。所以!以只读模式挂载磁盘可以尽量降低数据库中数据被覆盖的风险,以提高恢复数据成功的比例。

1、安装依赖插件
[[email protected] ~]# yum -y install e2fsprogs e2fsprogs-libs e2fsprogs-devel

2、编译安装extundelete包
[[email protected] ~]# tar -jxvf extundelete-0.2.4.tar.bz2 -C /usr/src/
[[email protected] ~]# cd /usr/src/extundelete-0.2.4/
[[email protected] ~]# ./configure --prefix=/usr/local/extundelete
[[email protected] ~]# make && make install
[[email protected] ~]# ls /usr/local/extundelete/
[[email protected] ~]# ln -s /usr/local/extundelete/bin/* /usr/local/bin
[[email protected] ~]# extundelete -v //查看版本

3、恢复指定文件

原理:从根节点(inode=2)开始找到被删除文件的i节点,然后recover i节点。

注意:
空文件和空目录不恢复

[[email protected] ~]# mount /dev/sdb1 /www/
[[email protected] ~]# mount //查看挂载的权限
[[email protected] ~]# mkdir /www/hehe
[[email protected] ~]# cp /etc/httpd/conf/httpd.conf /www/hehe/

[[email protected] ~]# rm -rf /www/hehe/ //模拟误删除

当文件和目录误删除之后,立即将分区重新挂载,权限为ro
[[email protected] ~]# umount /dev/sdb1 /www
[[email protected] ~]# mount -o ro /dev/sdb1 /www/
[[email protected] ~]# mount //查看挂载的权限

1)搜索已删除文件和目录(的i节点)
[[email protected] ~]# /extundelete --inode 2 /dev/sdb1

--restore-inode //i节点
--restore-file //指定文件
--restore-files //多个文件
--restore-directory //指定目录

注意:在当前目录下会产生RECOVERED_FILES/目录。用于存放恢复后的文件和目录
[[email protected] ~]# ls RECOVERED_FILES/

2)按照inode节点恢复
[[email protected] ~]# extundelete --inode 2 /dev/sdb1
[[email protected] ~]# extundelete --restore-inode 13 /dev/sdb1
[[email protected] ~]# ls RECOVERED_FILES/ //注意:文件名改变,内容不变。
[[email protected] ~]# cat RECOVERED_FILES/file.13

3)恢复指定文件:
[[email protected] ~]# extundelete --inode 2 /dev/sdb1
[[email protected] ~]# extundelete /dev/sdb1 --restore-file passwd
[[email protected] ~]# ls RECOVERED_FILES/
[[email protected] ~]# cat RECOVERED_FILES/passwd

4)恢复指定目录:
[[email protected] ~]# extundelete /dev/sda3 --restore-directory /hehe

5)恢复所有文件:

[[email protected] ~]# extundelete --restore-all /dev/sdb1 //回复所有

6)恢复指定的时间点后被删文件:
1)指定一个时间点
# date -d "Sep 4 03:09:13 2013" +%s
2)恢复这个时间点后的文件
# extundelete --restore-all --after “1378235353” /dev/sdb1

原文地址:https://www.cnblogs.com/luoyan01/p/9733742.html

时间: 2024-11-11 17:21:02

恢复误删文件的相关文章

利用winhex恢复误删文件

无意中发现一款软件winhex,没想到竟然还有恢复误删文件的功能.下面让我演示如何操作吧! 首先,下载这款软件的压缩包,解压就好了,目录下有个winhex.exe,直接点击就可以运行了,如果你想删除winhex软件,容易,把整个解压的目录删除掉就OK了! 运行界面 首先,我在D盘建了个文件夹叫"测试",再建立一个文本文档叫123.txt(反正就演示,取名简单点)再瞎写些内容,保存后直接删掉,我使用的是360强力删除,也就是永久性删除,在回收站找不到的. 到此,准备工作完成. 在已经打开

git多人合作时,恢复误删文件

一开始比较慌,下意识里就想到用reset和push -f重置版本并强制推送到远程库,经过实验发现这样做只能保证自己的本地库和远程库回到之前一个版本,而其他人想通过git pull同步是无效的,远程库版本已经低于其他人的本地库版本,这时候难道让其他人都删除版本库重新从远程库克隆?得不偿失. 然后就想,能不能从之前的版本中检出这个文件,然后重新添加到版本库中?再作为一个新的提交来挽救? 经实验室可以的,过程如下: git checkout HEAD^ -- a.txt HEAD^ 代表上一次提交,

浅析Linux文件(一)inode与block、硬链接与软链接、恢复误删文件

一.inode与block 1.inode和block概述 文件数据包括元信息与实际数据,一个文件必须占用一个inode,但至少占用一个block. 扇区:文件存储在硬盘上,硬盘的最小存储单位是扇区,每个扇区存储空间是512字节.block(块):连续的八个扇区组成一个block,block是文件存取的最小单位,用来存储文件数据.inode(索引节点):也叫i节点,用于存储文件元信息. 2.inode的理解 (1)inode包含文件元信息: 文件的字节数 文件拥有者的User ID(UID) 文

Linux下恢复误删文件:思路+实践

周五篮球群里有人问误删文件了怎么恢复,得知是ext4文件系统之后我推荐了ext4magic这个工具,然后又有人提到了xfs的话怎么办,正好前几天看到Dave Chinner在邮件列表里提到了这个问题,他推荐的工具是xfs_irecover.这里就稍微总结一下Linux下误删文件如何恢复. 1. 当发现误删了文件之后,立即把文件系统卸载掉,或者remount成ro状态,就是不要再写了,让数据不要被其他数据覆盖.因为大部分文件系统在删除文件的时候只是把这个文件标记成删除,把文件所使用的数据块标记成可

Linux中用extundelete恢复误删文件

一.实验前需知1.extundelete是一个用来恢复ext3,ext4分区文件的工具,他会利用分区中的日志信息尝试恢复被删除的文件,但是,并非每个被删除的文件都能确保被恢复,所以,重要的文件大家还是要做好备份.下面进行一个小实验模拟文件误删,使用extundelete进行恢复2.此实验需准备两块硬盘,注意不要将extundelete安装到误删文件所在的硬盘二.开始试验1.此实验需准备两块硬盘,除虚拟机原本一块硬盘,再添加一块硬盘,添加完成重启生效2.用fdisk命令给新添加的磁盘划分分区之后格

硬盘误删除文件恢复工具,怎样恢复误删文件

硬盘误删除文件恢复工具,硬盘是个最为常见的数据存储设备了,不管是电脑上的硬盘还是移动硬盘,其中的重要文件都非常之多,如果在执行文件操作的时候不小心误删了文件该怎么恢复呢? 如果说在电脑上对文件执行的普通删除的话,那么可以到回收站中查看是否有相关的文件存在,如果有的话进行还原操作即可,如果未找到的话,可以通过下述的方式来进行恢复工作的哦. 教程一:互盾数据恢复软件 第一步:打开常用电脑的浏览器找到[互盾数据恢复软件]的安装包,之后点击[立即安装]完成后续的恢复工作. 第二步:之后运行软件,界面上有

extundelete工具恢复误删文件

1.安装依赖包(e2fsprogs,e2fsprogs-libs,e2fsprogs-devel) # yum -y install e2fsprogs* 2.下载并安装extundelete-0.2.4.tar.bz2 # wget http://nchc.dl.sourceforge.net/project/extundelete/extundelete/0.2.4/extundelete-0.2.4.tar.bz2  # tar -jxvf extundelete-0.2.4.tar.bz

extundelete 恢复误删文件

本案环境: [[email protected] ~]# uname -r && cat /etc/system-release 2.6.32-504.el6.x86_64 CentOS release 6.6 (Final) 一.安装软件 1.安装依赖包# yum install e2fsprogs* -y 2.下载并安装extundelete# wget http://nchc.dl.sourceforge.net/p ... elete-0.2.4.tar.bz2# tar -jxv

Linux-Rhel6 恢复误删文件

需要工具extundelete(可通过xshell上传下载到linux) 知识点: ifconifig eth0             查看ip fdisk /dev/sda          管理磁盘 mkfs.ext4 /dev/sda4         格式化sda4分区为ext4的文件系统分区 mount /dev/cdrom /mnt/        挂载光驱 umount /dev/cdrom        卸载光驱 df -Th                查看挂载信息 ech