サーバが起動しているかどうかを確認するためのスクリプトを作成したい場合は、30秒間スリープしてもう一度pingを実行します。しかし、私はそれを10分または20回繰り返すだけです。私は他のスクリプトがマシンとシステムの再起動を行うので、これを使う必要があるので、私は再びそれが来るのを待つ必要があります。それはちょうど非効率なので、私は巨大な睡眠時間を設定したくありません。サーバが起動しているかどうかを確認する
例として0.0.0.0をpingしています。
ありがとうございます!
#!/usr/bin/expect -f
set timeout 30
set max_try 20
set tries 0
spawn ping 0.0.0.0
expect {
"64 bytes from 0.0.0.0" puts "servers are up"
if [ $tries -eq $max_try ]; then
puts "Test machine taking too long to reboot"
exit
fi
timeout {incr tries;exp_continue}
}
puts "Going to exit now"
exit
**標準注意:** Pingは、ネットワークインターフェイスが稼動しているかどうかをテストします。システム上の実際のサービスが稼動しているかどうかは確認されません。私は、(すべてのユーザープロセスが壊れているため)完全に使用できなくなったにもかかわらず、pingに応答したシステムを見てきました。あなたがやっていることのような一時的なものであろうと、Nagiosのような永続的なものであろうと、これらの種類のことを心に留めておく必要があるかどうか、それがもたらす結果は完全に虚偽になります。 –