- 当一个新手妹子把公司服务器数据删了…
- 来源:高效运维
/*
如果ORACLE_BASE这个变量没有赋值,那命令就变成了rm -rf /*
等等,妹子使用的可是root账户啊。就这样,把整个盘的文件全部删除了,包括应用Tomcat、MySQL数据库 and so on。mysql数据库不是在运行吗?linux能删除正在执行的文件?反正是彻底删除了,最后还剩一个tomcat的log文件,估计是文件过大,一时没有删除成功。看着妹子自责的眼神,又是因为这事是我安排她做的,也没有跟她讲清厉害关系,没有任何培训,责任只能一个人背了,况且怎么能让美女背负这个责任呢?打电话到机房,将盘挂到另一台服务器上,ssh上去查看文件全部被清,这台服务器运行的可是一个客户的生产系统啊,已经运行大半年了,得尽快恢复啊。于是找来脱机备份的数据库,发现备份文件只有1kb,里面只有几行熟悉的mysqldump注释(难道是crontab执行的备份脚本有问题),最接近的备份也是2013年12月份的了,真是屋漏偏逢连夜雨啊。想起来一位领导说过的案例:当一个生产系统挂掉以后,发现所有备份都有问题,刻录的光盘也有划痕,磁带机也坏了(一个业界前辈,估计以前还用光盘做备份了),没想到今天真的应验到我的身上了,怎么办?部门领导知道情况后,已经做了最坏的B计划:领导亲自带队和产品AA周日赶到客户所在的地市,星期一去领导层沟通;BB和CC去客户管理员那边想办法说服客户。救命稻草/ext3grep赶快到网上去查资料进行误删数据恢复,还真找到一款ext3grep能够恢复通过rm -rf删除的文件,我们磁盘也是ext3格式,且网上有不少的成功案例。于是燃起了一丝希望,赶快对盘umount,防止重新写入补删文件扇区。下载ext3grep,安装(编译安装过程艰辛暂且不表)。先执行扫描文件名命令:ext3grep /dev/vgdata/LogVol00 --dump -names
打印出了所有被删除文件及路径,心中狂喜,不用执行B计划了,文件都在呢。这款软件不能按目录恢复文件,只能执行恢复全部命令:ext3grep /dev/vgdata/LogVol00 --restore-all
结果当前盘空间不足,没办法只能恢复文件,尝试了几个文件,居然部分成功部分失败。ext3grep /dev/vgdata/LogVol00 --restore-file var/lib/mysql/aqsh/tb_b_attench.MYD
心里不禁一凉,难道是删除磁盘上被写过文件了?恢复机率不大了啊,能恢复几个算几个吧,说不定重要数据文件刚好在能恢复的MYD文件中。于是先将所有文件名重定向到一个文件文件中。ext3grep /dev/vgdata/LogVol00 --dump-names >/usr/allnames.txt
过滤出来所有 mysql 数据库的文件名存成 mysqltbname.txt 编写脚本恢复文件:while
read LINE
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
执行,大概运行了20分钟,恢复了40多个文件,但不够啊,我们将近100张表,每张表frm,myd,myi 三个文件,怎么说也有300多个左右啊~将找回来的文件附到现有数据库上,更要文件权限为777后,重启mysql,也算是找回一部分数据了。但客户重要的考勤签到数据、手机端上报数据(据说客户按这些数据做员工绩效的)还没找回来啊。咋办?中间又试了另一款工具 extundelete,跟 ext3grep 语法基本一致,原理应该也一样了,但是据说能按目录恢复,好吧试一试。extundelete /dev/vgdata/LogVol00 --restore-directory var/lib/mysql/aqsh
果然不出所料,恢复不出来!那些文件已被破坏了。跟领导汇报,执行B计划吧……无奈之下下班回家(周末了,回去休息一下,想想办法吧)。灵机一动/binlog第二天早晨一早就醒了(心里有事啊),背上电脑,去公司(这个周末算是报销了,不挨批,通报,罚款,开除就不错了,还过什么周末啊)。依旧运行ext3grep,extundelete,也就那几招啊,把系统架到测试服务器上,看看数据能不能想办法补一补吧。在测试服务器上进行mysqldump,恢复文件,覆盖恢复回来的文件,给文件加权限,重启mysql。wait,wait,不是有binlog吗?我们服务都要求开启binlog,说不定能通过binlog里恢复数据呢?于是从dump出来的文件名里找到binlog的文件,一共三个,mysql-binlog0001,mysql-bin.000009,mysql-bin.000010,恢复一下0001:ext3grep /dev/vgdata/LogVol00 --restore-file /var/lib/mysql/mysql-bin.000001
居然失败了……再看另两个文件,mysql-bin.000010大概几百MB,应该靠谱一点,执行还原命令,居然成功了~~赶快 scp 到测试服务器。执行 binlog 还原。mysqlbinlog /usr/mysql-bin.000010 | mysql -uroot -p输入密码,卡住了(好现象),经过漫长的等待,终于结束了。打开应用,哦,感谢cctv,mtv,数据回来了~~后记经过此次事故,虽然数据很幸运能找回来了,但是过程却是惊心动魄。也为自己的错误所带来的后果,给同事和领导带来的连带责任而后怕。也希望谨记此次事故,以后不再犯同样的错误。事故反思如下:本次安排MM进行服务器维护时没有提前对她进行说明厉害情况,自己也未重视,管理混乱,流程混乱。一个在线的生产系统,任何一个改动一定要先谋而后动。自动备份出现问题,没有任何人检查。脱机备份人员每次从服务器上下载1k的文件却从未重视。需要明确大家在工作岗位上的责任。事故发生后,没有及时发现,造成部分数据写入磁盘,造成不可恢复问题。需要编写应用监控程序,服务一旦有异常,短信告警相关责任人。根据评论提醒,再加一条: 不能使用root用户来操作。应该在服务器上开设不同权限级别的用户。通过本次事故,几位跟这个项目和事故没有任何关系的同事,主动前来帮忙,查资料,帮测试,有一位同事还帮忙到晚上1点多钟进行数据恢复测试。同时产品经理在想到面向客户的巨大压力的情况下,没有慌乱而责怪开发人员和具体操作人,而让大家能静下心来想解决方案。部门领导也积极主动的帮忙想办法,陪我们加班测试,实时跟踪事情进程。通过大家的共同努力,终于事情相对圆满结束,接下来,周一上午进行集体反思,总结经验教训,这类事故一定尽量大努力进行避免。本文所用到的工具链接:ext3grep:https://code.google.com/p/ext3grep/extundelete:http://extundelete.sourceforge.net/功能跟ext3grep差不多,原理应该也差不多。只是号称可以还原目录,我这里没有试验成功。来源:https://www.cnblogs.com/zhouyu629/p/3734494.htmlGOPS 2019 · 上海站正在来袭~ GOPS 侧重AIOps、自动化运维、DevOps,是国内高端运维盛会,精彩议题持续更新。
11月2日,延锋安道拓IT运维经理 丁炜为您带来“凤毛济美 — 在传统制造业看自动化运维”,敬请期待。
zhouyu
扫一扫下载订阅号助手,用手机发文章
赞赏
长按二维码向我转账
受苹果公司新规定影响,微信 iOS 版的赞赏功能被关闭,可通过二维码转账支持公众号。
已同步到看一看
取消
发送
我知道了
朋友会在“发现-看一看”看到你“在看”的内容
确定
已同步到看一看写下你的想法
最多200字,当前共字
发送
已发送
朋友将在看一看看到
确定
写下你的想法...
取消
发布到看一看
确定
最多200字,当前共字
发送中
微信扫一扫
使用小程序
取消
允许
即将打开一个新页面
取消
允许
-
-
- 征文 | 赵锐:无所不在的社会工程学
- 投稿方式可戳文章底部“阅读原文”了解详情。 无所不在的社会工程学 文 | 赵锐 赵锐 世界500强中国区信息安全和风险负责人,联合国ITU-T DevOps国际标准核心编写专家、CSA云安全
- 安在
-
-
-
- 转折1966:鲍勃迪伦、斯隆和德鲁克的peace and love I 剧透德鲁克4
- 郝亚洲/文 1966年5月的一天,鲍勃.迪伦和约翰.列侬在一台车里尬聊了好久。镜头里的迪伦显得很局促,说话含糊不清,不停地变换着坐姿,期间还点了支烟。列侬倒是还算沉稳,靠着车门,后背笔挺地坐在那里。列
- 管理学人
-
-
-
- 巨神兵:连接起手冢治虫、宫崎骏与庵野秀明三位日本动漫界巨匠的关键。
- 关注知日公众号,「每日福利」开启,参与详情见文末 |今日福利| 《知日・世上只有一个京都 》特集赠书 🎬 特摄短片《巨神兵现身东京》 日本动漫之所以在当今世界大行其道,无外乎一个原因其易于接受。
- 知日
-
-
-
- 我看滴滴顺风车是要疯
- 昨天,滴滴发起的一则公众评议话题,引发了朋友圈广泛讨论,我看了之后,真是有点想不吐不快。 议题是——滴滴顺风车:男性开顺风车需要女性亲友「担保」吗? 据说这是来自很多网民的建议,当引发安全投诉时,平台
- 三表龙门阵
-
-
-
- 从战友到同事,退伍这些年,他们经历了什么?
- 2018年7月,傍晚六点,古都西安的天气一如往常,热、无风、闷而潮湿。周楷动作利落地穿上工作服,像二十八年前入伍第一天那样,捋平衣领、压平轻微褶皱,最后拉直下摆。15岁的儿子崇敬地看着父亲一言不发、整
- 三联生活周刊
-
-
-
- 当一个新手妹子把公司服务器数据删了…
- 经历了两天不懈努力,终于恢复了一次误操作删除的生产服务器数据。对本次事故过程和解决办法记录在此,警醒自己,也提示别人莫犯此错。也希望遇到问题的朋友能找到一丝灵感解决问题。 事故背景 安排一个妹子在一台
- 高效运维
-
-
-
- 面对一杯牛奶,要不要去认识这头牛?
- 大侦探赫尔克里·波洛今天早晨不是很高兴,面前的早餐鸡蛋和牛奶让他很不满意,鸡蛋不圆润,牛奶不够香,按照他的想法,这些肯定不是来自一个漂亮且讲究的农场。 无数场合,波洛始终念叨着“我最大的乐趣,几乎剩
- 三联生活周刊
-
-
-
- 人与人的相处
- 公司难进入 从这 持续力 公众号ID:scalerstalk 个人微信号:escalers (可加Scalers个人微信交流) 关注 ScalersTalk 成长会 2019 年火热招募中,参见
- ScalersTalk成长持续论
-
-
-
- 离婚不要孩子的女人,都是咋回事?
- 你做我的朗读者 我做你的摆渡人 戳蓝字一键关注 摆渡人 ☾ 每晚21:39 无论你在哪里,请记得打开手机。 离婚不要孩子的女人是咋回事? - 来自摆渡人 - 00:00 / 11:06 ♪ 点上方
- 摆渡人
-
-
-
- 治拖延症的策略:让快乐提前到来,让痛苦提前到来
- 彭萦 改变自己主创 创业者 | 品牌人 | 性格分析师 当我们特别不想做某件事情的时候,我们可以想想,什么是自己想要和渴望去做的,然后将它和当前任务绑定在一起,把它当作任务完成后的奖励
- 改变自己
-
-
-
- 从《无证之罪》到《无主之城》,爱奇艺悬疑剧为何总能赢?
- 文| 「广电独家」林沛 从《无证之罪》到《原生之罪》,从《破冰行动》到《无主之城》,爱奇艺悬疑版图的扩张速度飞快。 “我有很多朋友看过片子之后,问的都是同一句话,这剧是中国编剧写的吗?”演员杜淳说
- 广电独家
-
-
-
- 【量化历史研究】战争塑造国家能力?德国城市的战争、议会与财政能力
- 本文为“量化历史研究”第 343 篇推送 欧洲三十年战争场景的绘画(1618-1648年) (图片来源网络) 著名学者查尔斯·蒂利认为,近现代欧洲各国因军备竞争的需要推动了国家在筹集军费方面能力的提
- 量化历史研究
-
-
-
- 买买买||蓝小姐和黄小姐这个月又买了什么好东西?
- 这个栏目之前做过,本来想要延续下来,不过我和黄小姐两个人买东西的频次实在很高,如果真的到月底掐着头发算下来,大约很想杀死自己——为什么要买这些?! 所以我俩做了好久的鸵鸟,打算不去面对这件事……
- 蓝小姐和黄小姐
-