Linux 가상 머신이 있습니다.AWS존재하다EC2시작하고 작업을 수행한 다음 자동으로 종료됩니다. 다음과 같이 종료 명령을 내립니다.
shutdown -h 5
ssh
서버에 뭔가를 하려는 경우 서버에 들어가서 종료를 취소할 시간을 갖기 위해 5분의 지연 시간이 있습니다 .
내가 가진 문제는 shutdown 명령을 실행하면 Linux가 더 이상 새 로그인을 허용하지 않는다는 것입니다. 매뉴얼 페이지에는 종료 명령을 실행할 수 있지만 여전히 새 로그인을 허용하는 내용이 없는 것 같습니다.
이 종료 명령을 실행하면서도 새 로그인을 허용하는 방법이 있습니까 ssh
?
답변1
shutdown
단순히 시간 지정을 사용할 수는 없지만
echo shutdown -h now | at now + 5 minutes
또는 유사한;
sleep $((60*5)) ; shutdown -h now
그것도 괜찮습니다.
at
그러나 를 사용하면 으로 대기 명령을 보고 atq
취소 할 수 있다는 장점이 있습니다 atrm
.
답변2
일반적으로 명령 이 루트가 아닌 로그인을 거부하는 것으로 해석하는 shutdown
파일이 생성됩니다 ./etc/nologin
login
이로 인해 두 가지 확실한 선택이 남습니다.
- 다음 계정으로 연결합니다
root
(비밀번호 대신 공개 키 인증 사용 선호). /etc/nologin
종료를 시작한 후 이 파일을 삭제하십시오. 새로 연결된 사용자에게는wall
세션이 곧 닫힐 것이라는 경고 메시지가 표시되지 않습니다. 이는 회의에 해로울 수 있습니다.
답변3
간단한 해결책은 너무 빨리 달리지 않는 것입니다 shutdown
. 대신 잠시 잠을 자다가 shutdown
지연이 끝난 후에만 실행하세요.
작업이 쉘 스크립트로 실행되면 쉽습니다. 또한 결국 종료가 발생하는 것을 방지할 수 있는 방법도 필요합니다. 스크립트를 직접 종료하거나 절전 모드가 끝난 후 스크립트에서 일부 파일을 확인하여 종료를 중지하도록 할 수 있습니다.
sleep 300
if ! [ -e /noshutdown ]; then
shutdown -h now
fi