FC2ブログ

シェルスクリプト:サーバがつながるかどうかを一括で確認

サーバがネットワーク上でつながっているかどうか(生きているかどうか)を確認するときにはpingコマンドをよく使用するかと思います。

そんな時、確認するサーバがたくさんあると面倒なのでこんなシェルを作ってみました。

まずはシェルの中身をどうぞ。


#!/bin/sh
IP_ADDR_ARRAY=("127.0.0.1" "127.0.0.2" "127.0.0.3");

NUM=0
for IP in ${IP_ADDR_ARRAY[@]}
do
  ping ${IP} -c 1 >> /dev/null
  if [ $? == 0 ] ;
  then
    echo "${IP} : OK"
  else
    echo "${IP} : NG"
  fi
  NUM=`expr ${NUM} + 1`
done

ポイントは3点。

IP_ADDR_ARRAYの部分で配列にしている部分です。
配列の後ろにスペース区切りでIPアドレスをつなげていけば確認するサーバに追加されます。
また、${IP_ADDR_ARRAY[@]}で配列すべての要素が変数IPに入っていき、順番にpingコマンドを実行します。

pingコマンドを実行しているのが「ping ${IP} -c 1」の部分です。
"-c 1"を指定することにより、pingの回数を指定しています。

そして「$?」にはpingコマンドの終了ステータスが代入されます。
成功した場合 → 0
失敗した場合 → 1
が入ります。

その結果をIF文で分けて表示するメッセージを変えているわけです。

実行したらこんな感じになります。

127.0.0.1 : OK
127.0.0.2 : NG
127.0.0.3 : NG

IPアドレスの部分を自分の環境に変更してお試しください。
(ってかこんなの役に立つのかな(^^;))

スポンサーサイト
他に面白い情報を求めて・・・FC2 Blog Rankingへ

最近の記事一覧 & カテゴリー


  1. viの自動インデントを無効にする (12/27)
  2. カーネルのバージョンを調べる (12/26)
  3. 手っ取り早くスクリーンキャプチャをとる方法 (12/16)
  4. rootユーザで直接ログインできるようにする (12/14)
  5. ftpをrootユーザで実行する (12/13)

<<CMSって? | HOME | JMeterでシナリオを開く>>

コメント
このコメントは管理人のみ閲覧できます
【2017/04/18 16:21】 | # | [edit]












管理者にだけ表示を許可する
トラックバック
トラックバックURL:
http://beginprogram.blog114.fc2.com/tb.php/41-1c1afd85
| HOME |