如果感到迷茫,那就执行rm-rf/吧

浏览: 1866

就在几天前,农历2019年的第一起删库跑路事件伴随着新年的爆竹声粗现了。

长图预警

对于一个程序员(尤其是负责运维开发的程序员)来说,“删库跑路”基本跟“粮仓着火”一个性质,都能让人在极度的刺激中打出一波GG。

对于删库跑路,稍微有点资历的程序员都是谨慎谨慎再谨慎,生怕一个不小心把整个公司和自己的身家性命全赔了进去。

然而,每年总有那么几个初出茅庐,同时心地单纯的铁憨憨在前辈们的鼓动下将数据库连同自己的职业生涯一同删除掉。

而说到删库跑路,某个人人谈之色变的指令就不得不提。它就是:rm -rf /

同时,它也是让众多小白误入歧途的罪魁祸首。

那么,rm -rf /到底是什么东东呢?

在linux系统中,“/”的含义大概如下图。

/是目录层的分割与标识符,是选取和分隔文件的重要符号。

rm是linux系统中删除命令,-r则是指删除这个指令下面的一切。

一切的一切那种一切。

-f指的是“就算文件属性为只读也可直接删除,无需确认”。因此-rf指令的作用是保证你能绕过多余的步骤顺利删除掉你想要删除的目录文件。

当然也不排除你不想删掉的那部分。

因为指令始终是人输入的,那就不可避免地会出现失误,比如/后面的变量出错导致通用语法无法成功在bash命令中插值,再比如你想输入rm -rf ./时少输入了一个“.”。一旦出现这样的失误,并且没有对被删除的数据进行事先的备份,那么后果就只能是:

这酸爽的感觉,简直就像是上(po)天(chan)了一样。

往小了说,rm -rf /只是一串常见的删除指令,用得好的话可以极大地方便日常数据管理,就算不小心误删了数据库也有事先的备份来做补救。

往大了说,如果操作失误,rm -rf /很可能会成为个人职业生涯甚至公司命运走向bad ending的导火索。

不巧的是,这样的bad ending几乎隔不了多久就会发生一次。

早在几年前,外国一个名叫Marco Marsala的男子就不小心通过rm -rf /指令将自己名下的主机托管公司推向了破产。

由于bash脚本中“rm -rf {foo}/{bar}”里面的“foo”和“bar”没能实现插值,运行时被认成了rm -rf/指令,导致该公司托管的1535名用户的数据信息被销毁。又因为该男子没有实现生产环境和备份环境的有效隔离,因此连备份档案都没有了。

去年4月,VPS 服务商 Kuriko 因为员工误输入了rm -rf /*(“*”指目录下的所有文件)指令,导致宿主机上所有数据丢失。

作为赔偿,Kuriko对所有开通的月付用户补偿1自然月使用时长,对半年付用户补偿2自然月使用时长。

而直到现在,Kuriko的官网首页底部还张贴着删库事件的相关告示,可见影响力之大。

当然,删库的方法肯定不止rm-rf/一种,去年9月,顺丰的一个工程师在使用navicat-mysql客户端管理工具时因错选了RUSS数据库打算删除R执行的 SQL,但因为没注意到光标回跳到RUSS库的实例上就直接回车,导致RUSS库直接被删除。实实在在地演示了一遍《MySQL 从删库到跑路》。

不过,最让网友们惦记的,仍然还是rm-rf/。

作为一名DBA,当你感到迷茫时,就执行rm -rf /*吧。你会发现世界一下子就安静了,整个人也轻松了。最重要的是你再也不用为工作而烦恼,可以充足的时间去远方旅游,因为此刻你的脑子里想的肯定不是工作......

而是跑路。

不想去旅游的话,千万要记得备份哦。

公众号后台回复关键词学习

回复 免费                获取免费课程

回复 直播                获取系列直播课

回复 Python           1小时破冰入门Python

回复 人工智能         从零入门人工智能

回复 深度学习         手把手教你用Python深度学习

回复 机器学习         小白学数据挖掘与机器学习

回复 贝叶斯算法      贝叶斯与新闻分类实战

回复 数据分析师      数据分析师八大能力培养

回复 自然语言处理  自然语言处理之AI深度学习

推荐 0
本文由 人工智能爱好者社区 创作,采用 知识共享署名-相同方式共享 3.0 中国大陆许可协议 进行许可。
转载、引用前需联系作者,并署名作者且注明文章出处。
本站文章版权归原作者及原出处所有 。内容为作者个人观点, 并不代表本站赞同其观点和对其真实性负责。本站是一个个人学习交流的平台,并不用于任何商业目的,如果有任何问题,请及时联系我们,我们将根据著作权人的要求,立即更正或者删除有关内容。本站拥有对此声明的最终解释权。

0 个评论

要回复文章请先登录注册