首页 > 系统服务 > 详细

linux lsof恢复误删除的文件

时间:2016-02-03 14:35:11      阅读:221      评论:0      收藏:0      [点我收藏+]

早上起来被告知昨晚误删除了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恢复误删除的文件

原文:http://peaceweb.blog.51cto.com/3226037/1740868

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!