使用lsof恢复rm -rf删除后的文件

在Linux系统中使用rm -rf删除文件后,其实文件只是从磁盘中移除,文件内容还是在系统后台等待回收,此时可以使用系统进程号将文件考贝出来,内容不会有更改。

1.删除一个文件

[[email protected] logs]# ll access.log
-rw-r--r-- 1 root root 11723908 Jun 14 16:02 access.log
[[email protected] logs]# rm -rf access.log

2.查看文件在后台的进程
[[email protected] logs]# lsof  | grep delete | grep access
nginx      1212   root    9u   REG  202,1   11723908   274125 /usr/local/nginx-1.4.7/logs/access.log (deleted)
nginx     12953     www    9w   REG  202,1   11723908   274125 /usr/local/nginx-1.4.7/logs/access.log (deleted)
nginx     12954    www  9w   REG     202,1   11723908     274125 /usr/local/nginx-1.4.7/logs/access.log (deleted)
[[email protected] logs]#

3.将文件从进程中复制到磁盘上

[[email protected] logs]# cp /proc/12953/fd/9  .     #12953是进程号,9是文件描述符
[[email protected] logs]# du -sh 9
12M    9
[[email protected] logs]# cat 9        #文件内容看到了

时间: 2024-12-15 01:06:35

使用lsof恢复rm -rf删除后的文件的相关文章

用ext3grep恢复rm -rf 误删除的文件

Linux作为企业级服务器,数据安全性至关重要,任何有价值的数据被误删除都是不能容忍的,甚至可能带来大的灾难!作为linux系统管理员,一定要有 数据保护意思,不但要做好数据备份工作,还应该有在将重要数据误删除后恢复的能力.在这里给大家介绍一个开源的数据恢复工具ext3grep,该工具可以 恢复rm –rf误删除的文件 一.ext3grep的原理:利用ext3grep恢复文件并不依赖于任何文件格式,首先ext3grep利用root的inode来获取文件系统中所有的文件信息,包括存在的或已删 除的

rm -rf 删除文件后磁盘空间不释放

当一个服务器的磁盘空间满了后,执行rm -rf命令以后,磁盘空间没有被释放可以使用lsof | grep delete命令来查看删除进程,然后kill掉相关的进程以后就可以释放空间了 原文地址:http://blog.51cto.com/11742478/2091817

rm -rf 删除文件恢复

一.extundelete安装 1.安装依赖包 # yum install e2fsprogs* -y 2.下载并安装extundelete # 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.bz2 # cd extundelete-0.2.4 # ./configure --

CentOS 恢复 rm -rf * 误删数据(转)

一. 将磁盘分区挂载为只读 这一步很重要,并且在误删除文件后应尽快将磁盘挂载为只读.越早进行,恢复的成功机率就越大. 1.  查看被删除文件位于哪个分区 [root@localhost  ~]# mount /dev/mapper/VolGroup-lv_root on / type ext4(rw) /dev/mapper/VolGroup-lv_home on /home type ext4(rw) 2.  尝试将对应目录重新挂载为只读 [root@localhost  ~]#  mount

Linux下rm -rf删除文件夹报错_ Device or resource busy

1.错误信息 rm: cannot remove `speechd-centos_6.2-prtl-pred-mf34/modules/t2p/py/third/g2p/.nfs00000000039b946b00000004': Device or resource busyrm: cannot remove `speechd-centos_6.2-prtl-pred-mf34/modules/t2p/py/log/.nfs00000000039c52ef00000005': Device o

恢复Reflector反编译后资源文件的办法

反编译问题: 1.路径问题:如果遇到了Path.Combine,有错误改下即可 2.资源文件问题: 在Reflector下,对左边的资源管理窗口的Resources文件夹下的资源文件,进行右键点击,选中"Save as" 选项保存即可. 例:对于项目文件夹里面的TryAssemb.Form1.resx,首先改为Form1.resx然后移动到TryAssemb目录里面 3.对窗体打开"视图设计器",发现会出现下面的错误: 修改方法就是对所有System.Windows

Ubuntu 16.04使用rm -rf误删文件恢复方法收集

说明:不一定有效,需要不断尝试 一.lsof 文件刚刚被删除,想要恢复,先尝试lsof. lsof |grep data.file1 cp /proc/xxx/xxx/xx /dir/data.file1 如果lsof不能看到文件,那么就需要使用恢复软件进行恢复. 要做的第一件事是立刻卸载被误删除文件所在的分区,或者重新以只读方式挂载此分区. umount /dev/part 或 mount -o remount,ro /dev/part 删除一个文件,就是将文件inode(inode 是操作系

微信内容删除后怎样恢复?这三个方法你会吗

微信内容删除后怎么恢复?相信不少的人都有这种疑问,其实微信内容是很容易找回的,只要你掌握了方法,找回微信内容,对你来说是轻而易举的事情,下面就让我们一起看看找回的具体方法吧! 首先打开微信,点击右下角的我,然后点击设置,进入设置界面: 在这个界面里面有一个聊天选项,点击,然后选择聊天记录迁移: 在聊天记录迁移页面中,选择备份内容记录到电脑,即通过电脑备份恢复微信内容: 然后下载电脑版微信进行操作,恢复之前的的内容: 首先选择打开微信设置,点击"帮助与反馈": 然后点击如下图所示的一个图

【讲清楚,说明白!】干货--使用lsof恢复进程打开的文件

目录:(一)lsof恢复文件(二)lsof的其他用法 (一)lsof恢复文件(1.1)如果在系统中有某个进程打开了一个文件,但是这个文件被我们误删除,此时我们希望将误删除的文件恢复.如果某个被误删除的文件所对应的进程没有关,这个文件就可以恢复.(1.2)在Linux中的FD文件描述符与windows中的文件句柄是同样的一个概念,一个进程打开一个文件就会产生相应的文件描述符,如果这个进程将文件关闭了,那么这个文件描述符或文件句柄就会跟着释放掉了.(1.3)我们直接执行lsof命令,可以看到如下的信