我傻乎乎地跑了sudo rm /*
过去sudo rm -R /*
我的网站仍在运行,尽管现在绝大多数命令ls
都已损坏。有没有简单的方法可以从服务器中获取数据或扭转一些损坏?
答案1
无法撤消sudo
。这是一次性的 root 运行时权限。为了更好地解释,这就像删除Win32
Windows 的文件夹并想知道如何恢复它。简单的重新安装应该可以解决您的问题。我建议下次使用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,您将获得相当多的回报。
祝你好运!