Ubuntu 22.04를 실행하는 교실에서 컴퓨터를 종료하는 스크립트가 있습니다. 스크립트는 모든 시스템을 종료하지만 중단되고 종료되지 않습니다. 다른 것이 있으면 스크립트에 추가하거나 변경해야 합니다. hothost
종료하려는 컴퓨터의 IP 주소가 포함된 파일입니다.
#!/bin/bash
while read host; do
sshpass -p 123456 ssh "root@$host" shutdown -h now &
done < hothost
답변1
비밀번호 대신 sshkeys를 사용하겠습니다. 또한 종료를 수행하기 전에 스크립트가 종료될 시간을 제공하기 위해 shutdown -h +1을 사용하여 향후 1분 후에 종료를 예약합니다. 여전히 멈춘다면 스크립트가 닫히는 동안 대상의 기본 터미널에 로그인하여 무엇이 멈췄는지 확인하는 것이 좋습니다.
답변2
스크립트에 < /dev/null을 추가하고 문제를 해결했습니다.
#!/bin/bash
while read HOST ;
do sshpass -p 123456 ssh "root@$HOST" "hostname; shutdown now " < /dev/null;
done < hothost