首先lsof查看"/>

linux lsof恢复误删除的文件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux lsof恢复误删除的文件相关的知识,希望对你有一定的参考价值。

早上起来被告知昨晚误删除了3个mysql的文件,只能恢复了

这是删除前的文件信息:

技术分享

首先lsof查看进程:

技术分享

这里PID都是一样的,下面进入proc里ls -l查看:

# cd /proc/8784/fd/

技术分享

这里可以看到ibdata1删除的信息了

接着直接cp复制

#cp 4 /tmp/ibdata1.bak

其余的2个同理恢复,下面是恢复后的文件:

技术分享

+++++++++++++++++++++++++++++++++++++++++++++

虽然恢复了,但是事情绝对没有这么简单!!!

因为,在innodb的buffer pool中,有许多dirty page(就是内存中的数据已经被修改,但是没有写回文件中),如果直接把文件复制回去,轻则数据丢失,重则ibdata1文件损坏。

我们必须保证所有buffer pool中的数据修改都保存到了硬盘文件上面,然后在恢复文件。


本文出自 “毛竹之势” 博客,请务必保留此出处http://peaceweb.blog.51cto.com/3226037/1740868

以上是关于linux lsof恢复误删除的文件的主要内容,如果未能解决你的问题,请参考以下文章

linux系统文件误删除恢复

Linux中找回误删除的文件

Linux下Oracle 数据文件被物理误删除的恢复

linux下恢复误删除的数据文件

linux误操作删除文件后,还能还原么?

Linux lsof 命令以及恢复删除的文件