一种文件恢复技巧

使用条件:

系统中有进程一直在访问这个文件

特别利于:日志文件和数据库

原因:

  1. 伪删除机制,文件数据还在,但是目录的索引被删除了。
  2. 此时,在访问的程序并不知道文件被删,所以句柄(指向文件的标识)依然存在。
  3. 于是,我们就可以通过lsof命令找出这个句柄,通过它找到错删的文件内容。

详细用法:

打个比方,由于误操作将/var/log/messages文件删除掉了,那么这时要将/var/log/messages文件恢复的方法如下:

首先使用lsof来查看当前是否有进程打开/var/logmessages文件,如下:

1 # lsof |grep /var/log/messages
2 syslogd   1283      root    2w      REG        3,3  5381017    1773647 /var/log/messages(deleted)

从上面的信息可以看到 PID 1283(syslogd)打开文件的文件描述符为 2。同时还可以看到/var/log/messages已经标记被删除了。因此我们可以在 /proc/1283/fd/2 (fd下的每个以数字命名的文件表示进程对应的文件描述符)中查看相应的信息,如下:

01 # head -n 10 /proc/1283/fd/2
02 Aug  4 13:50:15 holmes86 syslogd 1.4.1: restart.
03 Aug  4 13:50:15 holmes86 kernel: klogd 1.4.1, log source /proc/kmsg started.
04 Aug  4 13:50:15 holmes86 kernel: Linux version 2.6.22.1-8 (root@everestbuilder.linux-ren.org) (gcc version 4.2.0)
05 #1 SMP Wed Jul 18 11:18:32 EDT 2007
06 Aug  4 13:50:15 holmes86 kernel: BIOS-provided physical RAM map:
07 Aug  4 13:50:15 holmes86 kernel:  BIOS-e820: 0000000000000000 - 000000000009f000 (usable)
08 Aug  4 13:50:15 holmes86 kernel:  BIOS-e820: 000000000009f000 - 00000000000a0000 (reserved)
09 Aug  4 13:50:15 holmes86 kernel:  BIOS-e820: 0000000000100000 - 000000001f7d3800 (usable)
10 Aug  4 13:50:15 holmes86 kernel:  BIOS-e820: 000000001f7d3800 - 0000000020000000 (reserved)
11 Aug  4 13:50:15 holmes86 kernel:  BIOS-e820: 00000000e0000000 - 00000000f0007000 (reserved)
12 Aug  4 13:50:15 holmes86 kernel:  BIOS-e820: 00000000f0008000 - 00000000f000c000 (reserved)

从上面的信息可以看出,查看 /proc/1283/fd/2 就可以得到所要恢复的数据。如果可以通过文件描述符查看相应的数据,那么就可以使用 I/O 重定向将其复制到文件中,如:

cat /proc/1283/fd/2 > /var/log/messages

对于许多应用程序,尤其是日志文件和数据库,这种恢复删除文件的方法非常有用。

 

用法部分摘自 <http://blog.csdn.net/guoguo1980/article/details/2324454>

转载请注明:旅途@KryptosX » 一种文件恢复技巧

时间: 2024-10-24 22:56:11

一种文件恢复技巧的相关文章

误删文件也能恢复 Windows文件恢复技巧

如果只能使用Windows本身提供的工具,那么我们可以认为清空回收站之后,被删除的文件已经彻底清除了. 不过事实并非如此,只要有专用的硬件和软件,即使数据已经被覆盖.驱动器已经重新格式化.引导扇区彻底损坏,或者 磁盘驱动器不再运转,我们还是可以恢复几乎所有的文件. 一.磁盘如何保存数据要理解如何恢复已删除的数据, 首先要搞清楚磁盘如何保存数据.硬盘驱动器里面有一组盘片,数据就保存在盘片的磁道(Track)上,磁道在盘片上呈同心圆分布,读/写磁头在盘片的表面移动访问硬盘的各个区域,因此文件可以随机

Windows误删文件恢复技巧_win服务器

如果只能使用Windows本身提供的工具,那么我们可以认为清空回收站之后,被删除的文件已经彻底清除了.不过事实并非如此,只要有专用的硬件和软件,即使数据已经被覆盖.驱动器已经重新格式化.引导扇区彻底损坏,或者磁盘驱动器不再运转,我们还是可以恢复几乎所有的文件. 一.磁盘如何保存数据 要理解如何恢复已删除的数据,首先要搞清楚磁盘如何保存数据.硬盘驱动器里面有一组盘片,数据就保存在盘片的磁道(Track)上,磁道在盘片上呈同心圆分布,读/写磁头在盘片的表面移动访问硬盘的各个区域,因此文件可以随机地分

Office2010退出时文件没保存,文件恢复技巧

当您辛辛苦苦地编辑或是修改了一篇文档,可是退出Office时却意外击中了"不保存"按钮,怎么办呢?还有办法找回未保存的工作吗?没问题!Office2010为您增加了这项全新的功能--恢复未保存的版本.下面,我以Word2010为例,告诉您如何恢复未保存的版本.对于其他Office2010程序,请参照类似的方法. 如果您修改了以前保存过的一篇文档,只是退出时没有保存修改结果,可以这样找回未保存的文档: ①重新打开以前保存过的那份文档,点击"文件"按钮切换到后台视图;

如何恢复windows7删除的文件 恢复删除文件小技巧

很多朋友可能都有出现过误删文件的情况,一般来说,误删文件还可以在回收站中找回,但往往也有不少朋友没有留意,经常误删文件后连回收站也清空了,出现这种情况找回误删的文件理论上是可以找回的(文件删除不了怎么办),不少朋友可能都会联想到一些专业数据恢复软件,但其实有些时候使用一些小技巧即可轻松找回误删的文件,下面我们以目前热门的windows 7系统为平台,介绍下windows7删除的文件如何恢复. 我们知道一般删除文件后,文件是进入到了回收站,这个时候我们是可以通过回收站对文件进行还原,但有两种情况是

4种方法恢复最近关闭的Chrome标签页

在日常的浏览器使用操作中,难免会有误关闭标签的情况.Chrome官方博客分享了三种恢复已经关闭的标签的技巧,下次遇到了误关闭之后不妨用这几种方法恢复: 1.可以在新标签页中的最下面找到"最近关闭的标签页",这个地方会有你最近关闭的一些标签,选择你要恢复的打开即可: 2.可以通过在标签栏点击右键,然后点击"重新打开已关闭的标签页",这样也可以打开你刚刚关闭的那个标签: 3.使用快捷键Ctrl+Shift+T,功能和第二条一样,重新打开刚刚关闭的标签页.大家一定要记住.

360文件恢复方法教程

当大家发现文件被误删或者丢失的情况时,千万不要再去频繁的去对丢失文件所在的磁盘进行擦写操作,避免降低文件可恢复的可能性.首先我们打开360安全卫士,找到功能大全区域,点击"更多"选项. 1 图1 360安全卫士 在功能大全界面下,找到"文件恢复"图标;如果没有的话可以在下面的未添加功能列表中找到. 1 图2 360文件恢复功能 打开"360文件恢复"功能,选择需要恢复文件所在的磁盘;如果需要恢复U盘等移动设备的先将U盘连接到电脑上,等待电脑显示&

360文件恢复怎么用?

  当大家发现文件被误删或者丢失的情况时,千万不要再去频繁的去对丢失文件所在的磁盘进行擦写操作,避免降低文件可恢复的可能性.首先我们打开360安全卫士,找到功能大全区域,点击"更多"选项. 图1 360安全卫士 在功能大全界面下,找到"文件恢复"图标;如果没有的话可以在下面的未添加功能列表中找到. 图2 360文件恢复功能 打开"360文件恢复"功能,选择需要恢复文件所在的磁盘;如果需要恢复U盘等移动设备的先将U盘连接到电脑上,等待电脑显示&qu

误删文件恢复不一定需要软件才能恢复

大家好,我们平常是不是经常有些文件不小心被误删呢?被删除了,怎么办,恢复呗,可要恢复文件的软件,要钱啊.可小编我,不想花钱,怎么办呢?现在跟小编我来学习一下,文件被删除不需要文件恢复软件业可以恢复文件了. 下面就一起开学习一下. 我们在删除文件的时候往往会将它先放在回收站里,然后找时间再清除回收站,但有些人习惯将文件直接删除,所以当发现这些文件还有用并且急需要用的时候就后悔莫及了,那么这样删除的文件还能恢复吗?一般情况下这种从回收站中删除的文件要借助软件才能恢复,今天就为大家讲解另一种不需要软件

360文件恢复方法

  当大家发现文件被误删或者丢失的情况时,千万不要再去频繁的去对丢失文件所在的磁盘进行擦写操作,避免降低文件可恢复的可能性.首先我们打开360安全卫士,找到功能大全区域,点击"更多"选项. 图1 360安全卫士 在功能大全界面下,找到"文件恢复"图标;如果没有的话可以在下面的未添加功能列表中找到. 图2 360文件恢复功能 打开"360文件恢复"功能,选择需要恢复文件所在的磁盘;如果需要恢复U盘等移动设备的先将U盘连接到电脑上,等待电脑显示&qu