我不小心运行了 rm -rf /

我不小心运行了 rm -rf /

我正在编写一个 Bash 脚本来自动删除某些内容。我使用了以下代码rm -rf $路径/*

我不小心运行了脚本而没有传递路径变量,并且由于路径变量为空,因此执行的命令是rm-射频/* 使用 sudo,现在我的服务器上的所有内容都已删除,该服务器托管了 150 多个网站,我有 1 周前的备份。Linux 如此庞大,它必须针对这种情况采取一些解决方法。

答案1

这没有捷径可走。Linux 之所以如此强大,是因为它允许你做任何事情,包括删除所有内容之类的愚蠢事情。

您很幸运,因为您有备份。下一个任务是安装一台新服务器并从备份中恢复数据。虽然可以使用数据恢复软件尝试恢复一些数据,但备份中的数据的完整性要好得多。但是,如果您无论如何都需要旧安装中的一些数据,则不应重复使用同一个磁盘,而应购买一个新磁盘。

这会影响您的业务,因此与客户进行明智的沟通至关重要。不要试图掩盖任何事情。诚实地说,由于人为错误,系统会有一些停机时间,并告诉他们不必担心,因为您有备份。当然,如果备份是昨晚的,那就更好了。事故发生后,您可以修改备份计划。

此外,在编写脚本时,在将变量传递给 之前,请务必验证变量rm -rf。还可能存在导致$path相同结果的其他错误,例如rm -rf /some/directory /*,如果变量有尾随空格。

答案2

如果您没有进行进一步的操作,则很有可能使用 testdisc/photorec 恢复大量数据,但这并不好玩。确保不要弄乱你删除文件的硬盘,因为任何时候你在磁盘上写入任何内容,你的旧数据都会被覆盖。rm 命令通常只是删除文件在驱动器上的位置信息,就像删除书的目录而不改变页面一样。因此,您以前的文件现在为系统提供了可用空间。

因此,请单独安装它以进行恢复,并且不要在上面写东西。您可以通过以下方式恢复大量文件photorec/测试盘。不要被 photorec 这个名字搞糊涂了,它实际上可以恢复一大堆文件类型,而不仅仅是照片。但在许多情况下,只有数据被恢复,文件名丢失。所以你必须有创造力。

您可以看到一些示例这里

相关内容