文章目录

  • 前言
  • 删库
  • 跑路
  • 恢复
  • 感想
  • 后续
  • 总结

前言

上回书说到《一个月黑风高的夜晚紧急完成gitlab服务器数据迁移》,因为数据迁移后原数据还是存在的,该分区硬盘快满了,进而影响了原目录下的日志存储,既然数据已经迁移到新的路径了,那原来的库直接删掉就好了,往往就是这么不经意间做了一个令人十分后怕的决定。

删库

说干就干,连上服务器就开始操作了,为了避免搞错了,我还打开了另一个ssh窗口,对照着正在使用的git库,来一步步查找原来路径下已经废弃的仓库,嗯,终于找到了,对比各种信息没啥问题,两个窗口相互对照,十分“保险”。

rm -rf xxx 走你,一切都安静了,好了退出当前路径检查一下空间大小,咦?路径怎么不对,好像删的是正在使用的那个库哎!服了,还真是受到了惊吓啊!背后发凉啊!gitlab网站访问一下,嗯,果然找不到了,拜拜!

跑路

既然库都删完了,要不跑路吧?

算了,能跑到哪呢?先回去看看能不能找回来吧~

恢复

rm -rf 恢复硬盘数据是别想了,一般会让你卸载硬盘,断网,防止擦除,用第三方工具等,这我之前都演练过,几乎没什么用,这个时候需要冷静,先理智的分析一下:

既然是git库,我本地也是有的,要不我把我的库推上去试试?虽然没有那么新,但也差不了几个提交了,不过远程库都被我删了,我如果推上去一个新库,别人是不是直接访问不了,或者引发冲突呢?

想起之前迁移的时候我还备份了数据目录呢,那这样,先把备份的数据恢复到误删除的目录下,然后我再找一个本地的拉取到了最新状态git库推上去,既然想清楚了,那就动手吧。

  1. 通知相关人员先不要拉取和推送数据

  2. 把一月前备份的git-data目录中对应数据通过 rsync 命令拷贝到误删除目录,这时通过gitlab网站已经能看到数据了,只是数据是一个月前的

  3. 跳到版本发布机,上面的Git库数据是最新的,按照分支把版本发布机上的git数据逐个推送到gitlab服务器

  4. 再次打开gitlab网站发现一切恢复如初,真是……

感想

rm -rf 命令真是删库跑路的一把好手,一点也不拖泥带水,更无回收站这个后悔药可以吃,所以在服务器上对文件使用了这个命令,基本上等于判了死刑,但是git库真是一个好东西,分布式的存储可以保证每个人那都有完整的仓库,只要能找到一个最新的就行。

为了保证我能有最新的库可以用,我赶紧在 jenkins 上新建了两个定时任务,每天定时把仓库拉取到最新,防止类似意外的发生。

后续

其实这个后续和删库这件事没有任何关系,如果非得说有什么关系,就是它们都属于“灾难”,删库刚刚处理完,紧接着游戏玩家出现登录不上的问题,一开始以为是网络波动,因为我登录过程也不太顺畅,直到玩家发来了录屏,我才发现这个问题又有的查了。

玩家所说的无法登录并不是真的登不进去,而是登录之后加载完读条刚要进场景,直接退到登录界面,查询网络消息发现每次登录后几秒钟,网络连接自动断开,但是断开前的通讯流程日志显示的延迟信息,又说明网络状况良好,一头雾水。

最后耗时两天,在收集了各种线索以后,发现是升级Unity版本后,在法语、俄语、乌克兰语作为系统语言时,对c#的字符串处理逻辑要求更加严格,如果不做处理沿用之前的写法,很容易出现崩溃错误,因为有try-catch处理,表现出来就是直接断网会登录界面,统一设置语言处理函数时修复了此问题。

身心俱疲~

总结

  • 使用 rm -rf 命令还是要谨慎,谨慎,再谨慎
  • 如果真的删库了,也不一定非得跑路,先冷静想想有没有补救的措施
  • 语言、字符集、编码真的是相互纠结,至此我的bug库里又收录了系统语言运行时,神奇

==>> 反爬链接,请勿点击,原地爆炸,概不负责!<<==


北风卷地白草折,胡天八月即飞雪~

rm -rf 真是删库跑路的一把好手相关推荐

  1. rm: 无法删除swap: 不允许的操作_safe-rm老板再也不用担心我删库跑路啦[视频]

    saferm 老板再不怕我删库跑路https://www.zhihu.com/video/1177717527541731328 在 linux 上,使用 rm 是一件非常危险的事情(最近又有朋友遇到 ...

  2. 漫画:如何给女朋友解释什么是删库跑路?

    作者 | 漫话编程 来源 | 漫话编程(ID:mhcoding) 在DBA圈子有这样一个段子: 最近几年,经常会出现各种删库跑路的事件发生,前几天还有报道说思科离职5个月的程序员,为了报复公司,删虚拟 ...

  3. 代码内容变成图片_网站只剩25行代码,真有程序员“删库跑路”?

    "可能我删了数据才会轻松吧 可能我格了硬盘才会休息吧 可能逃出了公司我就跑到天边 可能我还没找到 那个BUG--" 曾经,有一位程序员,在某个加班的深夜,一边听着<可能否&g ...

  4. 漫话:如何给女朋友解释什么是删库跑路?

    在DBA圈子有这样一个段子: 最近几年,经常会出现各种删库跑路的事件发生,前几天还有报道说思科离职5个月的程序员,为了报复公司,删虚拟机跑路了. 这位思科的离职员工,仅凭一己之力,删掉了思科 456 ...

  5. 漫画:什么是删库跑路?

    作者 | 漫话编程 来源 | 漫话编程(ID:mhcoding) 在DBA圈子有这样一个段子: 最近几年,经常会出现各种删库跑路的事件发生,前几天还有报道说思科离职5个月的程序员,为了报复公司,删虚拟 ...

  6. 真实版“删库跑路”?程序员蓄意破坏线上生产环境!

    作者 | 阿文 责编 | 伍杏玲 出品 | 程序人生(ID:coder_life) 作为程序员经常相互开玩笑说,公司要是把我逼急了,大不了我们"删库跑路",这是一句玩笑话,没想到会 ...

  7. Windows 删库跑路(破坏系统的功能)

    很多博客说的都是Linux的删库跑路,却没有Windows的.但是我们类比Linux也可以写出Windows 下删库跑路的命令. Linux下的命令 rm -rf /* 参考其他博主说的(我没试),命 ...

  8. 从一个运维人员的角度看微盟的这次删库跑路的节奏

    从一个运维人员的角度看微盟的这次删库跑路的节奏 这二天,微盟运维人员删库的事件刷屏了,造成的影响特别的大. 回顾整个事件,本人从15年的运维人员的角度来分析一下这个事件: 1. 为什么一个运维人员会有 ...

  9. 堡垒机和防火墙的区别是什么?能防删库跑路吗?

    防火墙是计算机的一种安全技术,帮助计算机网络于其内.外网之间构建一道相对隔绝的保护屏障,在IT运维领域,堡垒机作为内部网络的检查点,其功能与防火墙似乎相似但又有区别. 什么是防火墙呢? 防火墙(Fir ...

  10. 真实版“删库跑路”?程序员蓄意破坏线上生产环境

    作者 | 阿文 责编 | 伍杏玲 出品 | 程序人生(ID:coder_life) 作为程序员经常相互开玩笑说,公司要是把我逼急了,大不了我们"删库跑路",这是一句玩笑话,没想到会 ...

最新文章

  1. WCF学习之旅—WCF服务的WAS寄宿(十二)
  2. MAC电脑快捷键整理
  3. Python的常用模块
  4. 使用java 自带的webservice
  5. wampp更新php版本,有没有办法在XAMPP中使用两个PHP版本?
  6. ubuntu下海信Hisense E920 usb连接不上的处理与adb的连接
  7. XMAPP多端口配置
  8. 2022年疑点事件:NMN到底是什么?nmn到底有没有用?
  9. CSS3-文本样式、字体样式
  10. 为什么选择嵌入式方向
  11. GNU链接脚本(06) - SECTIONS指令
  12. matlab可视化功能6,第6章MATLAB计算结果可视化
  13. ObjectARX安装小结
  14. 老友记有感- 保罗是个成功人士,但是也有最脆弱的一面,而且是在他喜欢的瑞秋面前展现了出来
  15. 基于JavaWeb的新闻发布管理系统设计与实现
  16. 《Android移动应用基础教程》之Android购物商城
  17. Linus工作室 2021年 PB级存储方案
  18. JAVA统一社会信用代码正则,用户登录名正则
  19. 原理剖析-Netty之无锁队列
  20. 论文投稿指南——中文核心期刊推荐(地球物理学)

热门文章

  1. 虾皮男装类目市场如何?哪些产品好卖?
  2. minimum在java中的意思_Java Calendar getMinimum()方法与示例
  3. AE的QuickTime问题
  4. css div img等元素居中对齐
  5. 如何利用 HBuilderX 制作图文混排的网页
  6. 免费代理IP地址列表
  7. 华为交换机eth口作用_华为5700交换机eth接口做什么用的?怎么使用它?
  8. 安装 Office 2010 错误 error 1935和数据库以及安卓路线
  9. JavaScript用法------判断二维数组
  10. 开源路由器-OpenWRT/梅林