一、介绍extundelete

1.extundelete的文件恢复工具,该工具最给力的一点就是支持ext3/ext4双格式分区恢复。

2. 在实际线上恢复过程中,切勿将extundelete安装到你误删的文件所在硬盘,这样会有一定几率将需要恢复的数据彻底覆盖。

3. extundelete还是有很大的不完整性,基于整个磁盘的恢复功能较为强大,基于目录和文件的恢复还不够强大。

4. extundelete执行完毕后在当前目录生产一个RECOVERED_FILES目录,里面即是恢复出来的文件,还包括文件夹。

5.任何的文件恢复工具,在使用前,均要将要恢复的分区卸载或挂载为只读,防止数据被覆盖使用。

umount /dev/partition

mount -o remount,ro /dev/partition

6.保持良好的习惯,绝对比恢复数据要更简单。

二、安装

yum -y install epel-release

   yum -y install extundelete

三、使用及命令

1. umount或者read only 分区

umount /dev/partition

mount -o remount,ro /dev/partition

2.切换到存储恢复文件的目录

cd $dir

3.命令

Usage: extundelete [options] [--] device-file

Options:

--superblock           打印指定分区的超级块信息。如不加任何的参数,

此选项是默认的.

extundelete --superblock /dev/sda3 <---> extundelete /dev/sda1

--journal              显示块的日志信息,同--superblock。

extundelete --journal /dev/sda1

--after dtime          只恢复指定时间【dtime】(时间戳)之后,被删除的数据

假如删除的时间大概是2011-7-26 14:30

date -d "Jul 26 14:30" +%s

得出秒数 1234567890

恢复此时间后删除的所有文件

extundelete /dev/sdb1 --after 1234567890 --restore-all

--before dtime         只恢复指定时间【dtime】(时间戳)之前,被删除的数据

Actions:

--inode ino                显示某分区inode为x的信息,一般是查看该分区下所有的文件.

extundelete --inode 2 /dev/sda1

--block blk              显示某分区block为x的信息.

--restore-inode ino[,ino,...] 恢复一个或多个指定inode号的文件,该恢复的文件,

保存在当前目录下的RECOVERED_FILES里,文件名为【file.$inode】

extundelete /dev/sda1 --restore-inode 13,14

--restore-file 'filename'        恢复指定的文件(被删除的),文件位于当前目录下

的RECOVERED_FILES/$filename,文件名还是原来的

extundelete /dev/sda1 --restore-file initramfs-2.6.32-358.el6.x86_64.img

--restore-files 'read_filename'  恢复指定的文件(真实存在的)中的内容,

文件位于当前目录下的RECOVERED_FILES/$filename,文件名还是原来的

vi test_restore.txt(结尾不可有多余的空格)

System.map-2.6.32-358.el6.x86_64

config-2.6.32-358.el6.x86_64

symvers-2.6.32-358.el6.x86_64.gz

vmlinuz-2.6.32-358.el6.x86_64

initramfs-2.6.32-358.el6.x86_64.img

extundelete /dev/sda1  --restore-files test_restore.txt

--restore-directory 'dir-name'      恢复指定的目录,文件位于当前目录下的

RECOVERED_FILES/$dir-name,文件名还是原来的

extundelete /dev/sda1  --restore-files grub

--restore-all                          恢复某分区里所有被删除的数据,文件名还是原来的

extundelete /dev/sda1   --restore-all

4.例

①--superblock

②--journal

③--after dtime

假如删除的时间大概是2011-7-26 14:30

date -d "Jul 26 14:30" +%s

得出秒数 1234567890

恢复此时间后删除的所有文件

/usr/local/bin/extundelete /dev/sdb1 --after 1234567890 --restore-all

④--before dtime

⑤--inode

⑥--restore-inode ino[,ino,...]

⑦--restore-file 'filename'

⑧--restore-files 'read_filename'

⑨--restore-directory 'dir-name'

⑩--restore-all

Linux恢复删除文件的更多相关文章

  1. Linux恢复删除的文件

    linux恢复删除的文件 先介绍下一些文件的基本概念: ·         文件实际上是一个指向inode的链接, inode链接包含了文件的所有属性, 比如权限和所有者, 数据块地址(文件存储在磁盘 ...

  2. 云服务器 ECS Linux 误删除文件恢复方法介绍

    云服务器 ECS Linux 下,rm -rf  意味着一旦删除的文件是无法挽回的.但如果在没有文件覆盖操作的前提下,可以先尝试相关方式进行文件恢复. 本文对此进行简要说明. https://help ...

  3. Linux下文件的三种时间戳

    Linux下文件的三种时间标记 三种时间对应关系表 column column column 访问时间 Access atime 修改时间 Modify mtime 状态改动时间 Change cti ...

  4. linux日志文件

    linux日志文件 在系统运行正常的情况下学习了解这些不同的日志文件有助于你在遇到紧急情况时从容找出问题并加以解决. /var/log/messages — 包括整体系统信息,其中也包含系统启动期间的 ...

  5. linux建立文件夹软连接

    linux建立文件夹软连接,并强制覆盖 ln -sfn /home/var/log/httpd/logs logs 这将在当前目录下建立logs软连接,指向/home/var/log/httpd/lo ...

  6. windows与linux之间文件的传输方式总结(转)

    当然,windows与linux之间文件的传输的两种方式有很多,这里就仅仅列出工作中遇到的,作为笔记: 方法一:安装SSH Secure Shell Client客户端 安装即可登录直接拖拉到linu ...

  7. Linux - 日志文件

    Linux日志文件绝大多数存放在/var/log目录,其中一些日志文件由应用程序创建,其他的则通过syslog来创建. Linux系统日志文件通过syslog守护程序在syslog套接字/dev/lo ...

  8. linux下文件结束符

    linux下文件结束符,我试过了所有的linux,发现其文件的结束符都是以0a即LF结束的,这个是操作系统规定的,windows下是\r\n符结束,希望可以帮助大家. -------------转:来 ...

  9. Linux查看文件编码格式及文件编码转换

    Linux查看文件编码格式及文件编码转换   如果你需要在Linux 中操作windows下的文件,那么你可能会经常遇到文件编码转换的问题.Windows中默认的文件格式是GBK(gb2312),而L ...

随机推荐

  1. Android进阶笔记09:Android开发经验部分总结

    1. 在Android library中不能使用switch-case语句访问资源ID:在Android library中不能使用switch-case语句访问资源ID的原因分析及解决方案 2. 不能 ...

  2. 快速启动软件之 Rolan ,你真的会用?

    2015.2.14 很高兴 Rolan 这个软件至今还在更新,并且愈发完善,UI 的设计和功能上的改进都给了我不小的震撼. 如今的 Rolan ,可以对比一下 2014 年的图,变化真的很大有木有: ...

  3. BZOJ 1441

    1441: Min Time Limit: 5 Sec  Memory Limit: 64 MBSubmit: 467  Solved: 312[Submit][Status][Discuss] De ...

  4. C# 实现远程控制软件的关键技术

    一.服务器端多线程Socket技术    用TcpListener进行侦听,接受客户端连接,有客户端连进来后开启处理线程处理数据,代码如下:    using System; using System ...

  5. JMS - 消息确认

    消息确认机制 消息确认协议是保证消息传送的关键所在,同时,支持确认也是 JMS API 语义的要求.以下将分别从消息生产者.消息服务器.消息消费者的角度,来考察消息确认机制. 从消息生产者的角度考察 ...

  6. HDOJ2012素数判定

    素数判定 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submis ...

  7. Linux命令(5):cp命令

    1.作用: 将给出的文件或目录复制到另一文件或目录中: 2.格式: cp  [选项] 源文件或目录 目标文件或目录. 3.常见参数: 4.使用实例: [root@localhost ~]# cp -a ...

  8. Contoso 大学 - 1 - 为 ASP.NET MVC 应用程序创建 EF 数据模型

    原文 Contoso 大学 - 1 - 为 ASP.NET MVC 应用程序创建 EF 数据模型 原文地址:Creating an Entity Framework Data Model for an ...

  9. 合理使用mysql中的load data infile导入数据

    基本语法: load data  [low_priority] [local] infile 'file_name txt' [replace | ignore]into table tbl_name ...

  10. 交叉编译lsof for android

    Android 自带的那个 lsof 实际上是 toolbox 里的,功能十分单一,除了显示出所有进程的所有打开的文件外就什么都不能做,连说明也没有 :-( 于是为了 htop 用着爽一点,还是自己编 ...