リモート終了スクリプト

リモート終了スクリプト

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

関連情報