私は以前に一度も行ったことがないことをしています。
あなたの一部には簡単になると確信しています:)
ネットワーク上のデバイスにSSHを接続し、15分間隔で再起動するLinuxシェルスクリプトを実行する必要があります。
私はそれが次のように見えると思います。
#!/bin/bash
USERNAME=someUser
HOSTS="host1 host2 host3"
SCRIPT="pwd; ls"
for HOSTNAME in ${HOSTS} ; do
ssh -l ${USERNAME} ${HOSTNAME} "${SCRIPT}"
done
再起動コマンドに接続するにはSSH接続が必要です
for p in server1 server2 server3
do
ssh ${p} sudo reboot
sleep 900
done
最初のコンピュータを再起動してから15分後に接続して再起動する必要があります。
答え1
これは基本的にあなたが要求したものです。
#!/bin/bash
for i in `cat ~/servers.txt`
do
echo -n $i" "
ssh -l sudo_user $i "sudo shutdown -r now"
sleep 900
done
スリープモードでは、再起動が完了してから15分ではなく、最後の注文が行われてから約15分後に再起動コマンドが実行されます。単純なbashシェルを使用して必要な操作を実行できます。サーバーの数が少ない場合はRundeckを使用し、サーバーが100を超える場合はAnsibleを使用することをお勧めします。
このスクリプトはsudoユーザーとして実行するのが最善です。 sshを介して言うまでもなく、rootとして管理しないのが最善です。この操作がスムーズに機能するためには、まず各サーバーで正しいSSH RSAキーでユーザーを入力し、それをsudoグループに追加する必要があります。