北京时间15日讯 因为运行了一段错误的代码,一个英国人不小心删掉了自己的整个公司。
《独立报》报道称,马尔萨拉(Marco Marsala)开了一家主机托管公司,因为不小心对自己的电脑发出了错误的命令,导致服务器上的一切都被删得干干净净,无论自己公司的资料还是那些客户交给他管理的网站都消失得无影无踪。
马尔萨拉在一个服务器专业论坛Server Fault发帖称,他不小心自己的电脑上运行了破坏性的代码,现在已经不知如何是好。大部分专家并没有为他提供任何补救的建议,而是告诉他,鉴于他删除了自己公司和客户的数据,他的整间公司或许已经被彻底摧毁了。
造成这局面的是“rm -rf”,这一最基本的指令的意思就是删除所有一切。“rm”是对电脑下删除的命令,“r”是指删除一个特定目内的所有一切,而“f”是强制执行,即告诉电脑不要理会正常情况下删除文件时会出现的警告等。于是,这代码删除了电脑上的一切,包括马尔萨拉的客户的网站。
这段代码在业界是非常有名的,已经成为了一些电脑圈子里的笑话主题。
因为一时不慎造成这种巨大灾难的,马尔萨拉不是第一个,也不会是最后一个
正常情况下,这代码是用于删除电脑中被指定部分的全部内容的。可是,由于马尔萨拉这次在代码编写上犯了错,命令并没有被赋予一个特定的目标,于是代码删掉了电脑中的全部内容。
“我经营着一家小小的主机托管公司,好像是有1535个客户,我使用Ansible来自动处理所有服务器的管理。”马尔萨拉写道,“昨晚,我不小心在所有服务器上运行了‘rm -rf {foo}/{bar}’ ,但由于一个bug,没有给出明确的变量,于是代码覆盖了所有一切。”
马尔萨拉说,他原本也曾经针对可能的灾难做过备份,但是连备份也被删除了。“所有的服务器都被删除了,备份也未能幸免,因为远端存储之前恰好是由同一个脚本安装的。”
大多数论坛上的专家都相信,马尔萨拉是不可能恢复这些数据了。结果,他的公司自然也就完蛋了。
“我非常遗憾,但实话说,你的公司十有八九是已经死掉了。”一位叫Sven的用户写道,“如果你现在立即关掉所有一切,将你的硬盘交给最优秀的数据恢复公司,或许还有那么一丝丝恢复的机会。”
“恢复的价格极端昂贵,而且需要大量的时间,这不可能真正挽救你的。”
一些人干脆说,马尔萨拉这时候不该来技术论坛,而是该去法律论坛。
一位Michael Hampton用户说:“你的生意现在完了,你不再需要技术建议了,而是应该去找律师。”
大多数回复都没有什么帮助意义,不过是指出他原本不该犯下这样的错误而已。
“这不是运气差,这是令人惊讶的糟糕设计加上粗心大意的必然结果。”
一个人因为自己的错误而毁掉了系统,绝不是这种故事的第一个主人公,也绝不会是最后一个。事实上,很多人在回复他的时候都提到了两年前的一个帖子,标题是《周一早晨的错误》。
那个帖子的原Po因为没有注意到代码当中多了一个空格,再也进不去自己的服务器了。