sudo rm -rf /命令删除了这个人的公司

用root权限运行rm -rf /命令对系统管理员来说是一个恶梦。斜杠/代表根分区,rm -rf /命令会删除根分区下的所有目录和文件。在Linux文件系统中,root根分区包含了系统的一切。删除根分区就意味着整个Linux系统被删除。

一位名叫Marco Marsala是一个主机服务商,有1500多位客户。Marsala想运行一个包含rm -rf {foo}/{bar}命令的Bash脚本。但是由于环境变量没有设置好,这条命令实际上就等同于rm -rf /命令。

sudo rm -rf /

他说:

我是一个主机服务提供商,有大约1535位客户。我使用Ansible将经营自动化。昨晚我不小心在所有服务器上运行一个包含rm -rf {foo}/{bar}命令的Bash脚本,但在之前的代码中存在一个bug导致没有定义环境变量。
所有服务器系统都被删除了,离线备份也被删除,因为在运行这个脚本前远程存储器是挂载了的。这个脚本是一个备份脚本。

是否有可能恢复硬盘数据?

运行rm -rf /命令后,即使你找信誉最佳的硬盘数据恢复公司,要恢复硬盘数据也相当困难。这将花费大量时间和金钱,对于一个主机服务商更是如此。

后来Marco Marsala说他现在几乎恢复了所有的数据,但没有说明具体的方法和步骤。

我们能从中得到什么教训?

  • 要有多个备份
  • 不要盲目地从网上下载一个脚本,不懂脚本中的命令就直接运行。
  • 在生产服务器使用新技术之前,要在另外的机器上测试新技术。
为这篇文章评分
[Total: 10 Average: 3.1]

发表评论

电子邮件地址不会被公开。 必填项已用*标注