某日,某君,也就是我啦,进入到某台服务器,整理服务器时发现 /data目录下有db_mysql和mysql_data目录,查了mysql_data是不在使用的,所以想把mysql_data下的文件都删除了……
这个时候,估计也许可能脑袋锈抖,居然跑到上一层目录直接rm * -rf,这下糟了,把db_mysql也给删除了,db_mysql是在使用中的库啊!!我哭:'( :'(哭也没用,这个时候还是想着怎么拯救吧!拯救过程:
1、数据删除了,但mysql还在运行着,赶紧kill mysql,umount /dev/md0
2、使用网络上到处都是debugfs方式
debugfs /dev/md0输入lsdel
理论上说这个时候这里可以看到被删除的文件,然后才有下一步的操作,可惜的是,这家伙貌似比较喜欢ext2,在ext3下没有任何东西显示,第一步拯救行动宣告失败3、使用mc方式
yum install mc安装完mc服务
直接输入mc
这里窗口最好小一点,不然是乱码
看到一个窗口,分别是一边显示删除文件,一边显示恢复文件(也许是这样,没做研究)
输入:
cd undel:/dev/md0提示没有找到目录,无法chdir
继续:
cd /dev/md0一样的结局
直接在窗口上鼠标点击进入,还是失败,第二个方法宣告失败3、使用第三方软件ext3grep,哭诉,快OK吧,老天,再不行,我……我……被罚定啦抱着丝丝希望开始了
安装e2fsprogs,据说必须要有e2fsprogs-libs,不然在后面ext3grep的安装会有问题。下载ext3grep:http://code.google.com/p/ext3grep/downloads/list目前最新版本是ext3grep-0.8.0.tar.gz安装:
cd
wget http://ext3grep.googlecode.com/files/ext3grep-0.8.0.tar.gz
tar zxvf ext3grep-0.8.0.tar.gz
cd ext3grep-0.8.0
./configure
make install安装过程很简单,运行ext3grep 就知道是否安装成功了
恢复开始了
ext3grep /dev/md0 -ls -inode 2这个是创建扫描的,不是必须的恢复:
ext3grep /dev/md0 –restore-all
……如果是恢复某个文件命令是:ext3grep /dev/md0 –restore-file 'filepath'怀着忐忑的心情继续等待……等扫描到:
Searching group 1088:
Searching group 1089:
Searching group 1090:
Searching group 1091:
Searching group 1092:
Searching group 1093:有结果了,看截图,能恢复的都恢复了,恢复的文件在运行extgrep当前目录下的RESTORED_FILES目录下
查看一下该目录,除了某个log表的两个文件没有恢复全外,其他全部恢复找XXX核对了一下这个log表的作用,运气好,得到的答复是这个表早已经没在使用了把文件拷贝到相应的目录,启动mysql,测试OKoh,耶!!!终于成功了
感谢天感谢地,感谢党,感谢人民,感谢网龙,感谢技术部,感谢WEB组,感谢冷温和,感谢阮胖子,感谢Carlo Wood引用别人的一句话:
“我痛哭流涕,我要再次感谢 Carlo Wood 手贱删除了他的 ~/home 目录,由此诞生了如此强大的 ext3grep,也正是因此,我才有了继续打酱油的时间。 ”NoSQL革命仍需要等待多时MySQL触发器的使用相关资讯 Linux知识
- 时光总是太匆匆!Linux已经诞生23 (08/29/2014 14:12:03)
- Linux虚拟文件系统之文件打开(sys (02/14/2012 11:41:54)
- 2012 年 Linux 峰会时间表 (02/14/2012 06:47:27)
| - 报告称当前 Linux 人才抢手 高薪也 (02/15/2012 06:35:56)
- 解析企业为何选择Linux及其特别之 (02/14/2012 08:17:59)
- Linux禁用字符闪烁的方法 (11/02/2011 10:28:25)
|
本文评论 查看全部评论 (0)