撤消 sudo rm -R /*

撤消 sudo rm -R /*

我傻乎乎地跑了sudo rm /*过去sudo rm -R /*

我的网站仍在运行,尽管现在绝大多数命令ls都已损坏。有没有简单的方法可以从服务器中获取数据或扭转一些损坏?

答案1

无法撤消sudo。这是一次性的 root 运行时权限。为了更好地解释,这就像删除Win32Windows 的文件夹并想知道如何恢复它。简单的重新安装应该可以解决您的问题。我建议下次使用man rm以更好地理解命令的作用。

在执行任何终端命令之前对其进行简单读取将对您的服务器最有利,因此不再执行不必要的功能!

这应该更好地说明我的意思:

在此处输入图片描述

答案2

虽然没有办法取消删除文件

您的网站仍然在线,因此您保存浏览器中的内容。当然,如果网站是数据库驱动的,那么这不会有太大帮助。

但是如果您的网站大部分是静态 html 并且它们仍然在内存中,您可以使用一些浏览器工具将它们从浏览器中保存下来。

有一些工具可以帮助解决这个问题,至少任何浏览器都可以保存完整的 html

高血压

答案3

不,没有简单的方法来恢复这些数据。备份是恢复数据的最简单方法。

然而,也有一些复杂的方法,比如这个问题的答案。但是,如果命令确实像您所说的那样被破坏,这些可能不起作用。

如果您已经对这些方法中的任何一种采取了过度的措施,那么下一个最简单的方法可能是咨询数据取证专家或公司。

当所有其他方法都失败时,只需执行“从轨道上摧毁它”后要做的事情即可。AkA 重新安装并获取旧的安全备份文件。

答案4

您可以恢复文件,但这在很大程度上取决于自您删除文件以来文件系统发生的情况。

Linux 将保留打开的文件,这就是您的网站仍然运行的原因,但是当您结束持有锁的进程时,您实际上会丢失这些文件。

恢复数据的唯一可能方法是关闭磁盘并将其安装为“只读”,然后使用众多恢复工具之一,此线程针对此问题提供了一些极好的建议 -https://unix.stackexchange.com/questions/122305/undelete-a-just-deleted-file-on-ext4-with-extundelete

我曾使用商业产品治愈过数个 TB,但我无论如何也记不住它的名字。

如果您无权访问服务器,那么您可以恢复当前锁定的文件,但该过程并不完善,您需要将恢复操作执行到不同的卷,以避免破坏任何当前未打开的文件,并且可能使用取消删除实用程序进行检索。

类似这样的事:

tail -c +0 -f /proc/$pid/fd/$fd > filename

因此,遍历所有与 $fd 关联的 $pid,您将获得相当多的回报。

祝你好运!

相关内容