执行了rm-rf/*你怕不怕,救你狗命的办法在下面

有经验的程序员恐怕都知道rm -rf /*的威力,并且rm -rf $ORACLE_BASE/*如果 ORACLE_BASE 这个变量没有赋值,那命令就变成了:rm -rf /*,当你身边有人不(没)小(经)心(验)在生产环境按下这个核按钮要跑路时你可以实力装x,用以下方式拯救:

1.赶快对盘 umount,防止重新写入补删文件扇区;

2.安装ext3grep,下载地址拿去,记得下面有个补丁也要下不然文件怕是恢复不全https://code.google.com/p/ext3grep/

安装好了先执行扫描文件名命令:

ext3grep /dev/vgdata/LogVol00 --dump-names

打印出了所有被删除文件及路径,基本你就知道要恢复的文件有哪些了,下来可以恢复了,执行命令:

ext3grep /dev/vgdata/LogVol00 --restore-all

到现在应该恢复的差不多了,假如不幸文件没恢复全,但是又设置了数据库Binlog,那你该开心了,执行命令:

ext3grep /dev/vgdata/LogVol00 --restore-file var/lib/mysql/mysql-bin.000001

也许你的也log文件好几个,只要成功一个就行,恢复好执行命令:

mysqlbinlog /usr/mysql-bin.000010 | mysql -uroot

可能会卡住,卡住就是正在恢复,稳住就ok

另外警告️两条!!!1、生产环境用监控程序,服务一旦有异常,短信告警相关责任人,如有数据丢失情况,第一时间防止写入,否则时间长了神仙也救不了。2、不能使用 Root 用户来操作。应该在服务器上开设不同权限级别的用户。好的工作机制最重要,亡羊补牢总是悲哀的.

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。