쉘 스크립트 "ssh 명령을 사용"을 통해 특정 시간에 IP로 서버 수집을 종료하는 명령
답변1
이 명령은 컴퓨터를 종료합니다.
$ ssh user@remote_computer sudo poweroff
이 두 명령은 비밀번호를 두 번 묻는 메시지를 표시합니다. 비밀번호를 묻지 않게 하려면 SSH 키를 원격 시스템에 복사해야 합니다. 그리고 루트가 아닌 사용자도 poweroff 명령에 액세스할 수 있도록 하십시오.
서버 목록을 사용하려면 다음과 같이 사용할 수 있습니다.
#!/bin/bash
$servers="server1 server2 server3"
for server in $servers
do
ssh user@$server sudo poweroff
done
특정 시간에 이를 수행하는 가장 좋은 옵션은 cron에서 스크립트를 예약하는 것입니다.
답변2
서버가 많고 병렬로 종료하고 싶지만 동시에 종료되는 서버 수를 제한하려는 경우 SSH 암호화의 CPU 소비를 제한하고 서버 수를 제한합니다. 나가는 네트워크 연결의 경우 Makefile
대신 쉘 스크립트를 사용할 수 있습니다 .
다음과 같이 보일 수 있습니다:
SERVERS:=server1 server2 server3
.PHONY: shutdown
shutdown: $(addsuffix +shutdown,$(SERVERS))
%+shutdown:
ssh user@$* sudo poweroff
그런 다음 Internet Explorer를 사용하여 이 명령을 실행하면 make -j 20
여러 서버를 병렬로 종료하여 한 번에 최대 20개로 제한할 수 있습니다.