如何用一行代码「灭掉」一家公司

432 阅读3分钟
原文链接: tech2ipo.com

因为误操作,有人因为一行错误的代码而「灭掉」了一家公司。主机服务商 Marco Marsala 由于意外告诉电脑删除所有的服务,从而使得存储在电脑中的所有信息,以及和网站相关的信息都遭到了删除,而这些信息都和其客户紧密相关。

Marsala 将这一遭遇告诉了一些服务专家,希望能够找到补救措施。但相反的是,大多数专家都都没有告诉他如何修复这些数据,而是告诉他,这个误操作很可能已经彻底删除了所有信息,因此很可能因为一行代码摧毁了整个公司。这行代码就是「rm -rf」:这行基础代码会删除所有被告知需要删除的信息,其中「rm」告诉电脑要移除信息,而「r」指的是在索引目录中删除所有信息,「f」指的是「强行删除」,即告诉电脑忽略所有的警告,强行删除所有文件。不仅如此,该行代码也删除了电脑中的所有信息,包括客户的网站。目前 Masarla 运行着一家主机服务公司,主要提供网络连接和网站内容存储服务。

通常情况下,运行此代码时,该行代码会清除电脑中指出的具体部分。但是由于在书写中出现了错误,该代码并没有明确的指代关系,因此移除了电脑中的所有信息。「目前我运行着一家小型主机服务器,客户大约有 35 位。我采用的是 Ansible 来自动运行一些操作和服务。」Marco Marsala 介绍道,「昨天晚上我意外地在所有的服务上面运行了一段代码,由于变量没有定义,因此该段代码对电脑中所有的资料都有用。」Marsala 说,该段代码甚至删除了所有的备份文件。由于存储备份文件的硬盘和电脑连接,因此该电脑也将其中的数据全部抹掉了。

多数专家都认为,Marsala 不大可能能将这些数据恢复。因此,这家公司也很可能无法恢复。「很遗憾地告诉您,您的公司事实上已经被毁掉了。」Sven 回应到。「但是如果你现在关闭一切,并且将硬盘拿到专业的维修公司的话,或许还有一线生机。」「这样做的费用或许会非常昂贵,并且也会花费很长的时间,且无法保证一定能恢复。」也有人这么说。「你的生意很快就会停止了。你需要做的不是寻找技术建议,而是给你的律师打电话。」Michael Hampton 说。许多的回应都没有任何积极建议,例如有人告诉他本可以采取很多措施来阻止这一切的发生。

Marsala 所遭遇的问题远非那些无意间毁掉自己系统的那些错误相比。事实上,也有回应者指出在两三年前也曾发生过类似的错误,即「星期一早晨的错误」。这个错误指的是有人无法登陆整个服务系统,直到发现代码中的一个空格。

文章来源:Independent. 由 TECH2IPO / 创见 林云箫 编译,首发于创见(http://tech2ipo.com/),转载请注明出处。