首页 运维杂谈一个命令rm -rf/ ,他把整个公司删没了...

一个命令rm -rf/ ,他把整个公司删没了...

运维派隶属马哥教育旗下专业运维社区,是国内成立最早的IT运维技术社区,欢迎关注公众号:yunweipai
领取学习更多免费Linux云计算、Python、Docker、K8s教程关注公众号:马哥linux运维

话说

最近有个程序猿很忧桑

……

因为弄错了一行代码

这哥们不小心把他整个公司

删没了

 rm -rf/

 

 

 

好吧..

事情是这样的….

最近有个哥们在个技术论坛上求助…

我在服务器维护的时候不小心执行了

rm -rf 命令…… 

现在整台服务器被我删光了

肿么办????

好吧.. 现在先来介绍一下

rm 是 linux系统下删除文件的命令….

-r 代表删除这个下面的一切

一切的一切那种的一切

f 表示不需要用户确认,直接执行…..

好吧…通常这个命令都是指定文件夹用的…

比如  rm -rf  /home/test/

就是删除/home/test/这个文件夹

下面的所有东西…..

但是如果后面的文件夹路径没有加对………

rm -rf /  在服务器上也就意味着….

58

哥们当然不会笨到直接去执行这个….

他表示,他当时正在运行一个BASH脚本…

但是脚本里似乎有一个问题

导致执行这个删除命令的时候

删除指定文件夹的那个参数

没有顺利的传递过去…..

直观点解释一下?

让我来给大家举个例子:

我叫小明去让电脑删除一个东西..

我就是那个程序员,小明就是那个脚本….

我本来想给小明的指令是

“让电脑把test文件夹下的东西全删了…. ”

但是似乎我跟小明在沟通上出现了问题….

不知道是他听漏了还是我说错了

总之最后小明跑去执行的指令是

“让电脑把东西全删了”

电脑: 好的明白~~~

于是…

rm -rf/

公司这台服务器上所有的用户数据…

就在这么一条命令之后强撸灰飞烟灭了……

好吧… 那备份的数据呢?

这哥们表示….

当时为了执行维护

他把远程的备份的驱动器

也挂在了这个服务器上…..

于是也这么一起删掉了……..

后来下面的网友纷纷给这哥们点起了蜡烛….

“哥们我很抱歉的跟你说……

实际上你的公司已经彻底的报销了….”

“我觉得你现在就别纠结这些技术细节了…..

找个律师比较有用….”

“如果你现在马上把你这服务器

拿去数据恢复公司..

也许还有一点救..

不过鉴于你的数据量,

修复起来绝对是天文数字”

好吧…..

现在这哥们已经哭不出来了……

解密:

Marco Marsala 是一家小型主机托管公司的老板,但是他最近遇到了一个天大的麻烦——由于脚本错误,他不慎删光了所有客户的数据。更糟糕的是,由于 Bash 脚本代码中包含了一行变量未定义的“rm -rf {foo}/{bar}”,连备份也连带着被干掉了——而在通常情况下,备份网络理应和正常的生产力基础设施隔离开的。

rm -rf/

这一错误源自 Ansible 上糟糕的代码设计,这款 Linux 实用工具被用于在多台不同服务器上自动执行脚本。

开发者解释到,实际参数应该是“rm -rf {foo}/{bar}”,foo 和 bar 是脚本中动态传递的两个变量。

然而由于变量处理出错,通用语法未能成功在 bash 命令中插值,所以最终指令就变成了可怕的“rm -rf /”。

“rm -rf/”意味着擦除根路径“/”下挂载的所有内容而无需询问。

鉴于 Marsala 运行着 1535 个集群,其本来是能够在数小时(至数日)内恢复的。但由于未能妥善实现生产环境和备份环境的隔离,备份档也全没了。不得已之下,他只能上网发帖求救,然而没人能救得了他了。当然,也许最好的建议是给律师打个电话,那样或许还不至于赔得太惨。

事实上,本文纯属虚构,真相是这样的:

rm -rf/

本文链接:https://www.yunweipai.com/6675.html

网友评论comments

发表回复

您的电子邮箱地址不会被公开。

暂无评论

Copyright © 2012-2022 YUNWEIPAI.COM - 运维派 京ICP备16064699号-6
扫二维码
扫二维码
返回顶部