其他
疯了!一个rm -rf把公司数据库给删没了...
“经历了两天不懈努力,终于恢复了一次误操作删除的生产服务器数据。对本次事故过程和解决办法记录在此,警醒自己,也提示别人莫犯此错。也希望遇到问题的朋友能找到一丝灵感解决问题。”
事故背景
救命稻草:ext3grep
do
echo "begin to restore file " $LINE
ext3grep /dev/vgdata/LogVol00 --restore-file $LINE
if [ $? != 0 ]
then
echo "restore failed, exit"
# exit 1
fi
done < ./mysqltbname.txt
灵机一动:Binlog
mysql-binlog0001 mysql-bin.000009 mysql-bin.000010
后记
本次安排 MM 进行服务器维护时没有提前对她进行说明厉害情况,自己也未重视,管理混乱,流程混乱。一个在线的生产系统,任何一个改动一定要先谋而后动。 自动备份出现问题,没有任何人检查。脱机备份人员每次从服务器上下载 1K 的文件却从未重视。需要明确大家在工作岗位上的责任。 事故发生后,没有及时发现,造成部分数据写入磁盘,造成不可恢复问题。需要编写应用监控程序,服务一旦有异常,短信告警相关责任人。 根据评论提醒,再加一条:不能使用 Root 用户来操作。应该在服务器上开设不同权限级别的用户。
2、一个朋友做项目也是的,一个不小心,删除数据库了,好在项目没上线,周六周日加班成狗恢复了。本以为没人知道呢,结果项目上线庆功时,甲方经理拍拍肩膀说,可以啊,小伙子,删我们数据库。当时哪个尴尬啊。
3、我在执行这个rm -rf命令的时候根本没有接触过linux服务器,都是百度出来的命令,还是做的这种汇丰银行的项目,无知者无畏呀。
4、世界上真的存在有人让新人直接在生产环境上玩耍的人??是不是太不负责了
5、按照剧本,不是应该跑路么?
6、懂一点点电脑,深奥的根本不会,但是依然看的津津有味又惊心动魄,末了,手里全是汗……
7、现在靠谱的方案就是把rm -rf映射成mv上,相当于把文件复制到回收站,这样还能挽回一下数据。等回收站满了再统一执行删除操作
8、删库跑路的命令不能随便试,不要问我为什么知道
9、binlog要保证设置的时候是true,不然也找不回来了
10、你第一时间竟然不是先想到找binlog来恢复,说明你的责任是真的大
11、十几年前,同组一哥们跑完一个程序,把运营商200万用户相关的资料通通删除了,整整一近千个G,花7天挽救数据还是丢失一部分,公司被罚了N多钱。
12、看完了,还是NTFS和Fat好啊
13、涉及到rm rf的不会先移动或者改名bak吗?生产环境不备份,这样的小白员工怎么招进来的?
14、我执行这个命令的时候 最少核对3遍 确认没有问题 才敢执行 虽然是测试服务器
15、厉害了,我也干过这傻事,幸亏是初学linux,系统什么都没有
16、找回来也要开除的,不过无所谓,反正公司也快倒闭了。
17、真的是惊心动魄,感同身受。当时误删客户凭证已经做好被开除的准备了
推荐阅读
【01】Linux C/C++定时器的实现原理和使用方法【02】资深专家:Linux C++线程池框架超详细讲解!【03】通俗易懂:Linux下的C语言开发之Makefile编写【04】Linux这些工具堪称神器【05】Linux系统中的”队列”是什么?Linux “队列”相关总结