有个程序猿很忧桑:一个命令rm -rf/ ,他把整个公司删没了...

话说

最近有个程序猿很忧桑

.......

因为弄错了一行代码

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

删没了

没了

...

好吧..

事情是这样的....

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

我在服务器维护的时候不小心执行了rm -rf 命令...... 现在整台服务器被我删光了肿么办????

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

rm 是 linux系统下删除文件的命令.... -r 代表删除这个下面的一切,一切的一切那种的一切。 f 表示不需要用户确认,直接执行.....

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

rm -rf /home/test/ 就是删除/home/test/这个文件夹下面的所有东西.....

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

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

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

他表示,他当时正在运行一个BASH脚本... 但是脚本里似乎有一个问题,导致执行这个删除命令的时候,删除指定文件夹的那个参数没有顺利的传递过去.....

直观点解释一下?

让我来给大家举个例子:

我叫小明去让电脑删除一个东西.. 我就是那个程序员,小明就是那个脚本....

我本来想给小明的指令是

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

但是似乎我跟小明在沟通上出现了问题.... 不知道是他听漏了还是我说错了,总之最后小明跑去执行的指令是

“让电脑把东西全删了”

电脑: 好的明白~~~

于是...

公司这台服务器上所有的用户数据... 就在这么一条命令之后强撸灰飞烟灭了......

好吧... 那备份的数据呢?

这哥们表示.... 当时为了执行维护,他把远程的备份的驱动器也挂在了这个服务器上.....

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

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

“哥们我很抱歉的哥你说...... 实际上你的公司已经彻底的报销了...."

"我觉得你现在就别纠结这些技术细节了..... 找个律师比较有用...."

“如果你现在马上把你这服务器拿去数据恢复公司.. 也许还有一点救.. 不过鉴于你的数据量,修复起来绝对是天文数字”

好吧.....

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

进一步报道

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

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

开发者解释到,实际参数应该是“rm -rf {foo}/{bar}”,foo 和 bar 是脚本中动态传递的两个变量。 然而由于变量处理出错,通用语法未能成功在 bash 命令中插值,所以最终指令就变成了可怕的“rm -rf /”。 “rm -rf/”意味着擦除根路径“/”下挂载的所有内容而无需询问。

鉴于 Marsala 运行着 1535 个集群,其本来是能够在数小时(至数日)内恢复的。但由于未能妥善实现生产环境和备份环境的隔离,备份档也全没了。

不得已之下,他只能上网发帖求救,然而没人能救得了他了。当然,也许最好的建议是给律师打个电话,那样或许还不至于赔得太惨。

网友评论

提莫采摘蘑菇第一小分队:

不太懂 但是我刚刚码完论文然后没保存。

V-Lancelot:

我来举一个形象一点的例子,假如你是个网红,你有几千万粉丝,然后有个程序员把数据库删没了,一觉醒来你发现你的几千万粉丝都没了,你会是什么感觉

红红火火嚯嚯呵呵:前些日子,我们公司一个程序员离职,把项目交接好就走了,新来的一个程序员第一天逮到电脑就重装了系统。。项目代码都没了,老板气的键盘砸烂了两个

专门拿着硬盘去恢复也失败了,。。。。还好离职的程序员家里还有一份,虽然不是最新的不过也是万幸。神奇的是新来的程序员第二天还来了。

小明说他是故事里的路人甲:同病相怜撒 我刚刚弄错了一个数据 现在可能要赔四千多……

纪冬夏:手下一行码,余生两行泪

lee贝勒:变量{foo}/{bar}前为何不加上$符号,这可是shell变量的引用格式啊

阿涵感觉自己萌萌哒:还记得之前某次大型全球金融危机就是 某个银行职员写错了一个数

好好学习假不假__不假:不懂的各位,就当作新浪的数据都被删除了,微博以后都不存在了就行

钡盐不溶--explode:可以在知乎回答[亲手把一家公司弄垮是怎样的体验]

白玉糖包子:我懂我懂,我花了一晚做的PPT,好不容易做完了,系统问我要保存么?我毅然决然选择了“否”!

农村古天乐:老总:感谢你小伙子,我们不用偿还那些债务了,来,咱商量一下怎么弄个新公司

原文发布于微信公众号 - 老九学堂(xuetang9)

原文发表时间:2017-02-11

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏PHP技术

PHP 的前世今生

翻译自 《Modern PHP》by Josh Lockhart PHP 现在正在经历着一场自己在编程语言中的文艺复兴。通过增加一系列新的特性(比如 name...

3196
来自专栏北京马哥教育

10年 Windows 与 Linux 程序员的区别

如果一个程序员从来没有在Linux、Unix下开发过程序,一直在Windows下面开发程序,同样是工作10年,大部分情况下与在Linux、unix下面开发10年...

580
来自专栏Java面试通关手册

近几个月Github上最热门的Java项目一览

今天逛了逛Github,顺手精选出了一下近几个月以来Github上最热门的12个Java项目。如果遇到自己感兴趣的开源项目,不妨去学习一下哦!

1043
来自专栏cloudskyme

关于压缩js和css的小软件开发的随想

最近开始接触C++,所以非常想用C++做一些东西,前两天更新迅雷的程序,更新完之后,眼前一亮,界面有了很大的改进,不清楚是使用什么技术实现的, 因为最近在弄MF...

3388
来自专栏Python中文社区

五个亲测可用的Python论坛类网站开源框架

1、LBForum LBForum是用django开发的论坛系统,LBForum主要注重部署的方便性和易用性,功能方面目前还比较简单。 LBForum的开发尽量...

4749
来自专栏CSDN技术头条

PHP 7.0.0正式版来了

PHP团队宣布PHP 7.0.0上线了。这是PHP7新系列开始的标志。 以下为官方发布稿: PHP 7.0.0 带来了新版本的Zend引擎,不仅如此,还有许多新...

1859
来自专栏SeanCheney的专栏

《Python分布式计算》 第7章 测试和调试分布式应用 (Distributed Computing with Python)概述常见错误——时钟和时间常见错误——软件环境常见问题——许可和环境常见

无论大小的分布式应用,测试和调试的难度都非常大。因为是分布在网络中的,各台机器可能十分不同,地理位置也可能不同。 进一步的,使用的电脑可能有不同的用户账户、不同...

2235
来自专栏CodingToDie

Python学习(一):概述

第1 章 概述 Table of Contents 应用范围 优缺点 安装 运行第一个程序 参考 工欲利其器 必先知其器 应用范围 Python是著名的“龟叔”...

2616
来自专栏AI科技大本营的专栏

AI 技术讲座精选:如何创建 R 包并将其发布在 CRAN / GitHub 上?

前 言 大多数受欢迎的编程语言都有个共同点——他们都是“开源”。开源是一种分散的开发模式,它基于社区参与。社区成员推动这种编程语言的发展,所得成果向所有人开放。...

2745
来自专栏FreeBuf

安全应急响应工具年末大放送

为了帮助安全分析师更好的完成工作,小编整理了一些现在比较流行的安全应急响应工具和资源,从磁盘镜像创建工具、内存分析工具到内存镜像工具、沙盒/逆向工具等,相信总有...

2166

扫描关注云+社区