LoginSignup
0
0

More than 1 year has passed since last update.

Bash for文を使った複数にサーバー対してのPING疎通確認

Posted at

HPC用途のクラスタシステムなどで数多くのノードを一斉に構築することがある。
OSのインストール完了後にマスターノードとスレーブノードの間で簡易的にネットワーク疎通確認を行う際に下記シェルスクリプト使うことでことでログを残しながら疎通の確認を行うことができる。

■シェルスクリプト(for文)

【例】pingtest.sh

#!/bin/bash
{
for ipaddr in 192.168.10.{1..10}  #IPアドレス範囲
do
  ping -c 1 "$ipaddr" > /dev/null 2>&1 #pingの回数は1回

  if [ $? -eq 0 ]; then
    echo "[OK] Ping -> $ipaddr" #応答あればOK
  else
    echo "[NG] Ping -> $ipaddr" #応答なければNG
  fi
done
} | tee pingtest.log  #ログファイルに保存

■実行

$ bash pingtest.sh

■結果

$ cat pingtest.log 
[NG] Ping -> 192.168.10.1
[OK] Ping -> 192.168.10.2
[OK] Ping -> 192.168.10.3
[NG] Ping -> 192.168.10.4
[OK] Ping -> 192.168.10.5
[NG] Ping -> 192.168.10.6
[OK] Ping -> 192.168.10.7
[OK] Ping -> 192.168.10.8
[NG] Ping -> 192.168.10.9
[OK] Ping -> 192.168.10.10

■補足

この方法はCUIで死活チェックで行うことを想定している。
数多くのクラスター管理ツールではGUIのモニターを持っているが、
手っ取り早く死活チェックを行うならこの方法も検討してみていいと思う。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0