GD 数据流项目之踩坑

1. 把工作成果以及一些script都保存在公司的linux服务器的个人工作目录下,一个周末在清理冗余文件的时候,

   不慎把服务器上的个人目录rm -rf *


2. 有一个shell脚本需要从正式网向测试环境导数据,在踩完坑1.后,这个脚本自然也被rm了,连夜重写了一份。

    这个脚本中有一个逻辑:

    导入数据前,先要清掉测试环境数据库的数据。

    结果,夜间作战时,copy数据的时候,把脚本中的ip写错了,导致脚本的逻辑变成了,导数据前,清除正式网的数据。


    然后,10.19号下午4点30左右,一执行脚本,看到log中的ip貌似是正式网的,立马傻眼了,穿着短袖的手臂上,冷汗蹭蹭的冒,赶紧停掉命令。

    一查正式网的数据,发现数据量级并没有异常,然后拍拍胸脯,长吁一口气,跟自己说,还好,还好,吓死我了,然后松了一口气就没管这事了。

    等到晚上7:30左右,负责这个项目的RD突然问我有没有动线上数据,我一惊,暗知不好。

    赶紧再查数据库的量,几乎为0了~~几乎为0了~~

    正式网的数据~~正式网的数据~~


    我抱着必死的心态赶紧捧着电脑去找RD,交代事实,并着手解决问题。

    第一步:观察数据量没有持续减少了,说明删除命令的后遗症已经over。

    第二步:确认服务正常,确保增量数据能正常入库。

    第三步:联系DBA,确认数据能否恢复,由于数据量太大,几千万+、400G,DBA反馈恢复时间耗时较长。

    第四步:跟本项目的PM、RD负责人商量具体解决方案。

    最终达成共识:保证服务正常,让增量数据正常入库,历史数据慢慢恢复。

    

    结果:所有数据在第二天下午3:30全部恢复,其中两个量级较小的表(1000w+)是DBA从日志历史中恢复,

    另外一个大表(3000w左右)我之前每天做离线数据分析时,有备份。

    并在下午6点发起了事故复盘。    


这个事故是一个连环失误,我做了如下总结,以戒下次。

1. 事前:在服务器上进行的危险操作,对正式网数据的操作,要慎之又慎。

2. 事中:出现问题之侯,要及时暴露,跟相应的RD、Leader确认,不能仅凭自己的判断认定疑似危险操作的后果。

3. 流程:线上(特别是用户量级比较大时)数据,以及服务,要做好容灾处理。

    服务:性能、异常处理。

    数据:定时备份。

4. 做事方法:

      4.1 代码要定时提交代码仓库。

      4.2 脚本要定期备份。

      4.3 执行危险脚本、命令时,要多确认,最好有提示。





   

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值