错误地将服务器文件移动到一个目录,服务器现在无法工作

错误地将服务器文件移动到一个目录,服务器现在无法工作

我搞砸了我的 AWS 实例。

demo我在我的目录中创建了一个新目录/var/www/html

然后导航到该html目录并运行以下命令:

sudo mv /* demo

服务器根目录中的所有文件和文件夹都出现在该demo目录中。

我怎样才能把它移回来?

另外,我的目的是将目录内的所有文件/文件夹移动html到该demo文件夹​​。

答案1

我在两三年前就看到过这种情况,并且我知道有不同的 AWS 设置,因此这可能可行,也可能不可行。

无法再通过 SSH 访问该计算机(它确实允许登录,但 shell 无法启动)。没有像其他服务那样可用的“硬件”终端。

如果你的机器可以启动 root shell,那么命令

LD_LIBRARY_PATH=/var/www/html/demo/lib /var/www/html/demo/lib/ld-linux.so.2 /var/www/html/demo/bin/mv /var/www/html/demo/usr /
LD_LIBRARY_PATH=/var/www/html/demo/lib /var/www/html/demo/lib/ld-linux.so.2 /var/www/html/demo/bin/mv /var/www/html/demo/var /
LD_LIBRARY_PATH=/var/www/html/demo/lib /var/www/html/demo/lib/ld-linux.so.2 /var/www/html/demo/bin/mv /var/www/html/demo/lib /
LD_LIBRARY_PATH=/lib /lib/ld-linux.so.2 /var/www/html/demo/bin/mv /var/www/html/demo/bin /

应该会让您达到足够可恢复的状态。

如果有一个终端允许通过 VNC、远程桌面或其他方式登录,同样的事情。

在我们的例子中,两者都不起作用。

当时的管理员所做的是启动另一个临时 AWS 实例,强制损坏实例的脏关闭,分离其磁盘,并将其作为辅助磁盘附加到新实例。

然后他做了相当于

mount /mnt /dev/sdb1
cd /mnt/var/www/html/demo
mv * /mnt/
sync
shutdown -h now

并分离磁盘,重新连接到旧实例,除了由于脏关闭而导致的长时间 fsck 之外,启动没有任何问题。

相关内容