실수로 서버 파일을 디렉토리로 옮겼습니다. 이제 서버가 작동하지 않습니다.

실수로 서버 파일을 디렉토리로 옮겼습니다. 이제 서버가 작동하지 않습니다.

AWS 인스턴스를 엉망으로 만들었습니다.

demo내 디렉터리 내에 새 디렉터리를 만들었습니다./var/www/html

그런 다음 디렉터리로 이동하여 html다음 명령을 실행합니다.

sudo mv /* demo

서버 루트 디렉터리의 모든 파일과 폴더가 이 demo디렉터리에 나타납니다.

어떻게 다시 옮길 수 있나요?

또한 내 의도는 디렉터리 내의 모든 파일/폴더를 html해당 demo폴더로 이동하는 것입니다.

답변1

저는 2~3년 전에 이런 일이 일어나는 것을 보았고, 다른 AWS 설정이 있다는 것을 알고 있으므로 이것이 작동할 수도 있고 작동하지 않을 수도 있습니다.

더 이상 SSH를 통해 머신에 액세스할 수 없습니다(로그인은 허용되지만 셸은 시작되지 않음). 다른 서비스처럼 사용할 수 있는 "하드웨어" 터미널이 없습니다.

컴퓨터가 루트 셸을 시작할 수 있으면 다음 명령을 실행하세요.

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 이외의 문제 없이 부팅되었습니다.

관련 정보