linux恢复误删除文件-extundelete
因此,在数据误删除后,立即卸载文件所在分区能够减少数据块中数据被覆盖的风险。进而提高成功恢复数据的机率。
[root@zw_test_26_74 /]# mkfs -t ext4 /dev/sdb3
2.查看文件系统类型
[root@zw_test_26_74 /]# blkid /dev/sdb3 --查看文件系统类型
/dev/sdb3: UUID="b786e8d1-e8ac-4681-ad3a-ff7a39c07146" TYPE="ext4"
也能够用以下方法查看
[root@zw_test_26_74 ~]# file -s /dev/sdb3
/dev/sdb3: Linux rev 1.0 ext4 filesystem data (extents) (huge files)
3.创建一个delete文件夹。并挂载到刚创建的文件系统上,并创建文件,然后删除文件
[root@zw_test_26_74 /]# mkdir delete
[root@zw_test_26_74 /]# mount /dev/sdb3 /delete
[root@zw_test_26_74 /]# cd /delete
[root@zw_test_26_74 delete]# ls
lost+found
[root@zw_test_26_74 delete]# vi zw.txt --加入一些内容
[root@zw_test_26_74 delete]# rm -rf zw.txt
4.下载
extundelete 主页:http://extundelete.sourceforge.net/
下载地址:http://nchc.dl.sourceforge.net/project/extundelete/extundelete/0.2.4/extundelete-0.2.4.tar.bz2 --0.2.4版本号
http://nchc.dl.sourceforge.net/project/extundelete/extundelete/0.2.4/extundelete-0.2.4.tar.bz2
--0.2.4版本号
[root@zw_test_26_74 /]# wget wget http://nchc.dl.sourceforge.net/project/extundelete/extundelete/0.2.4/extundelete-0.2.4.tar.bz2
[root@zw_test_26_74 /]# tar -xvf extundelete-0.2.4.tar.bz2
[root@zw_test_26_74 extundelete-0.2.4]# cd /extundelete-0.2.4
[root@zw_test_26_74 extundelete-0.2.4]# ./configure --prefix=/usr/local/extundelete && make && make install
Configuring extundelete 0.2.4
configure: error: Can't find ext2fs library
这是由于extundelete依赖e2fsprogs。
[root@zw_test_26_74 extundelete-0.2.4]# yum -y install e2fsprogs e2fsprogs-devel
安装e2fsprogs后再次configure 成功。
[root@zw_test_26_74 extundelete-0.2.4]# ./configure --prefix=/usr/local/extundelete && make && make install
Configuring extundelete 0.2.4
Writing generated files to disk
make -s all-recursive
Making all in src
Making install in src
/usr/bin/install -c 'extundelete' '/usr/local/bin/extundelete'
5.查看工具版本号
[root@zw_test_26_74 /]# cd /usr/local/extundelete/bin
[root@zw_test_26_74 bin]# ./extundelete -v
extundelete version 0.2.4
libext2fs version 1.41.12
Processor is little endian.
6.卸载分区。注意假设是/ 根文件夹的删了,把磁盘挂载到其它机器做恢复
[root@zw_test_26_74 ~] fuser -k /delete <-- 结束使用某分区的进程树
[root@www ~]# umount /delete <-- 卸载分区
[root@zw_test_26_74 ~]# umount /dev/sdb3
7.使用extundelete查看分区上存在的文件
extundelete --inode 2 /dev/sdb2
# --inode 为查找某i节点中的内容,使用2则说明为搜索,假设需要进入文件夹搜索,仅仅需要指定文件夹I节点就可以
[root@zw_test_26_74 bin]# extundelete --inode 2 /dev/sdb3
WARNING: Extended attributes are not restored.
Loading filesystem metadata ... 26 groups loaded.
Contents of inode 2:
0000 | ed 41 00 00 00 04 00 00 01 7b c6 56 05 7b c6 56 | .A.......{.V.{.V
0010 | 05 7b c6 56 00 00 00 00 00 00 03 00 02 00 00 00 | .{.V............
0020 | 00 00 00 00 20 00 00 00 e3 10 00 00 00 00 00 00 | .... ...........
0030 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................
0040 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................
0050 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................
0060 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................
0070 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................
Inode is Allocated
Group: 0
File mode: 16877
Low 16 bits of Owner Uid: 0
Size in bytes: 1024
Access time: 1455848193
Creation time: 1455848197
Modification time: 1455848197
Deletion Time: 0
Low 16 bits of Group Id: 0
Links count: 3
Blocks count: 2
File flags: 0
File version (for NFS): 0
File ACL: 0
Directory ACL: 0
Fragment address: 0
Direct blocks: 4323, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
Indirect block: 0
Double indirect block: 0
Triple indirect block: 0
File name | Inode number | Deleted status
Directory block 4323:
. 2
.. 2
lost+found 11
zw.txt 14 Deleted
.zw.txt.swp 13 Deleted
zw.txt~ 12 Deleted
上面标记为deleted的,zw.txt 就是我误删的数据
8. 恢复:
root@zw_test_26_74 bin]# extundelete --restore-all /dev/sdb3
WARNING: Extended attributes are not restored.
Loading filesystem metadata ... 26 groups loaded.
Loading journal descriptors ... 47 descriptors loaded.
Writing output to directory RECOVERED_FILES/
Searching for recoverable inodes in directory / ...
1 recoverable inodes found.
Looking through the directory structure for deleted files ...
Restored inode 14 to file RECOVERED_FILES/zw.txt
0 recoverable inodes still lost.
[root@zw_test_26_74 bin]# ll
total 1164
-rwxr-xr-x 1 root root 1187047 Feb 19 10:10 extundelete
total 4
-rw-r--r-- 1 root root 150 Feb 19 11:20 zw.txt
能够看到zw.txt 已经恢复到RECOVERED_FILES 文件夹下了。
9.扩展命令:
--restore-inode 12 # --restore-inode 按指定的I节点恢复
--restore-file zw.txt # --restore-file 按指定的文件名称恢复
--extundelete --restore-all # --restore-all 是所有恢复 ,默认全将恢复出来的文件放在当前路径 RECOVERED_FILES/ 文件夹下,文件名称为 file.I节点号
linux恢复误删除文件-extundelete的更多相关文章
- Linux下面误删除文件使用extundelete工具恢复介绍
操作系统版本:CentOS release 6.4 (Final) 软件版本:extundelete-0.2.4.tar.bz2 PS:该软件恢复文件系统仅支持ext2/ext3/ext4 ...
- Linux恢复误删除的文件或者目录(转)
linux不像windows有个回收站,使用rm -rf *基本上文件是找不回来的. 那么问题来了: 对于linux下误删的文件,我们是否真的无法通过软件进行恢复呢? 答案当然是否定的,对于误删的文件 ...
- Linux恢复误删除的文件或者目录
文章转载自:https://www.jianshu.com/p/662293f12a47 linux不像windows有个回收站,使用rm -rf *基本上文件是找不回来的. 那么问题来了: 对于li ...
- Linux之恢复误删除文件
前言每当我们在生产环境服务器上执行rm命令时,总是提心吊胆的,因为一不小心执行了误删,然后就要准备跑路了,毕竟人不是机器,更何况机器也有 bug.那么如果真的删除了不该删除的文件,比如数据库.日志或执 ...
- git恢复误删除文件
在git仓库管理下误删除文件一般会分为以下3种情况: 1.手动直接删掉,如选择-右击-删除 这种删除未修改本地仓库[版本库],只修改了工作区,直接git checkout -- fileName即可恢 ...
- grep恢复误删除文件内容(转)
在 Linux 上如果事先没有用别名(alias)修改默认的 rm 功能,rm 后文件就会丢失,幸运的是,在一般的删除文件操作中,Linux 并不会立即清空存储该文件的 block 内容,而只会释放该 ...
- webStorm恢复误删除文件或工程
背景: 提交git时可能由于没有提交所有文件,不知什么原因导致最近几天所写文件全部消失,所改文件全部恢复到以前.最终通过webstorm找回项目.下面总结通过webstorm找回误删文件,或恢复到历史 ...
- CentOS6.5恢复误删除的文件
系统环境:CentOS release 6.5 (Final) 内核版本:2.6.32-431.el6.x86_64 需要的源码包:extundelete-0.2.4.tar.bz2 解压bz2包: ...
- lsof恢复误删文件
用 lsof 恢复 误删除文件实验: 先模拟一个进程: [tiger@root:/home/tiger]$ echo "hello deletede" >> test. ...
随机推荐
- CAD交互绘制带颜色宽度的直线(com接口)
用户可以在控件视区任意位置绘制直线. 主要用到函数说明: _DMxDrawX::DrawLine 绘制一个直线.详细说明如下: 参数 说明 DOUBLE dX1 直线的开始点x坐标 DOUBLE dY ...
- ubuntu apt-update NO_PUBKEY 40976EAF437D05B5 NO_PUBKEY 3B4FE6ACC0B21F32
Fetched 28.1 MB in 11s (2344 kB/s) W: GPG error: http://archive.canonical.com xenial Release: The fo ...
- 用字符串对列表赋值,一个字符串对应一个列表元素,eg: my @escaped = "asteriskasterisk hash access unpack_func";
my @escaped = "asteriskasterisk hash access unpack_func"; # 是一个元素的赋值 25 unless( $escap ...
- Spring Boot . 4 -- 定制 Spring Boot 配置 【2】
除了第一篇中使用 覆写的方式进行 自动配置的更改外,还可以通过 Spring Boot 中提供的 application.properties 文件改变应用的运行时配置.这种配置的方式粒度是非常精细的 ...
- jquery.data.resource.js
/*! * jQeury Data Pkugin * version: 1.0.0-2016.03.03 * Requires jQuery v1.10.2 or later * Copyright ...
- 题解 洛谷P2147/BZOJ2049【[SDOI2008]洞穴勘测】
Link-Cut-Tree的模板题啊......(听说还可以用其他的方法做,不管了,直接上LCT) 没有要求维护点权,只需要维护点的连通性即可. 就是朴素的LCT,居然还不要pushup. 感觉有些不 ...
- python 3 廖雪峰博客笔记(二) python解释器
python 解释器用于理解 python代码,存在多种python解释器 CPython 官方版本python解释器,用C语言开发,使用最广泛 IPython 基于CPython,在交互方式上有所增 ...
- [Python3网络爬虫开发实战] 6.1-什么是Ajax
Ajax,全称为Asynchronous JavaScript and XML,即异步的JavaScript和XML.它不是一门编程语言,而是利用JavaScript在保证页面不被刷新.页面链接不改变 ...
- django+uwsgi+nginx部署(非常详细)
django+uwsgi+nginx部署 1.介绍: 在网上看了很多教程,但自己部署了很久都没有成功,这篇博文记录自己所踩过得坑. 2.环境: Ubuntu 16.04.1 LTS (GNU/Linu ...
- 1. 垃圾收集简介 - GC参考手册
说明: 在本文中, Garbage Collection 翻译为 “垃圾收集”, garbage collector 翻译为 “垃圾收集器”; 一般认为, 垃圾回收 和 垃圾收集 是同义词. Mino ...