シェルスクリプト「sshコマンドを使用」を介して特定の時間にIPでサーバーの収集を終了するコマンド
答え1
このコマンドはコンピュータをシャットダウンします。
$ ssh user@remote_computer sudo poweroff
これら 2 つのコマンドは、パスワードを 2 回尋ねるメッセージを表示します。パスワードを要求しないようにするには、SSHキーをリモートシステムにコピーする必要があります。そして、root以外のユーザーが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個に制限できます。