Rainbow Engine

"世界を加速させる"/"Accelerate the World"

01_IT技術 (Technology) 01_Linux

Linux:サーバ死活管理スクリプト

投稿日:2017年6月11日 更新日:

Linuxサーバの死活管理スクリプトについて。

1.事前準備・確認

内容としては、確認したいサーバにpingを飛ばし応答がない場合は管理者にメールをするというもの。メインは以下のコマンド。

ping ${IP} -c 1 /dev/null

(“-c n”(nは回数)は送付するパケットの回数)

そして、pingの戻り値は下記の通りです。
0 正常
1 不通
2 引数異常
これらを判定に利用します。
ping成功(例) ※”AA.BB.CC.DD”は確認したいサーバのIPアドレス

ping -c 1 AA.BB.CC.DD
PING AA.BB.CC.DD (AA.BB.CC.DD) 56(84) bytes of data.
64 bytes from AA.BB.CC.DD: icmp_seq=1 ttl=61 time=0.812 ms
--- AA.BB.CC.DD ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 1ms
rtt min/avg/max/mdev = 0.812/0.812/0.812/0.000 ms

戻り値確認

echo $?
0

ping失敗(例) ※”AA.BB.CC.DD”は確認したいサーバのIPアドレス

ping -c 1 AA.BB.CC.DD
PING AA.BB.CC.DD (AA.BB.CC.DD) 56(84) bytes of data.
--- AA.BB.CC.DD ping statistics ---
1 packets transmitted, 0 received, 100% packet loss, time 10000ms

戻り値確認

echo $?
1

2.死活管理シェルスクリプトの作成

下記のスクリプトを/usr/bin配下に作成する。
参考:http://calcabrina.net/archives/53/

cd /usr/bin
vi ping_alert.sh

今回はping_alert.shと命名します。
下記例のXXXXX.XXXXX.XXXXX@gmail.comは各自のメールアドレス。

#! /bin/csh
IP_ADDR_ARRAY=("AA.BB.CC.DD");
NUM=0
for IP in ${IP_ADDR_ARRAY[@]}
do
/bin/ping ${IP} -c 1 >> /dev/null
if [ $? == 0 ] ;
then
 echo "${IP} : OK" | mail -s "Server is active"  XXXXX.XXXXX.XXXXX@gmail.com
else
 echo "${IP} : NG" | mail -s "Alert of server down"  XXXXX.XXXXX.XXXXX@gmail.com
fi
  NUM=`expr ${NUM} + 1`
done

3.etcの直下のcrontabに以下を記述

20 * * * * root sh /usr/bin/ping_alert.sh

4.結果確認

ping成功(例)
成功メールが届きました。
成功2

ping失敗(例)
失敗メールが届きました。
失敗2
Thanks for visiting !!
Rainbow Engine

-01_IT技術 (Technology), 01_Linux

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

Linuxのユーザ作成方法_★IT0005

Linuxでユーザを作成する方法を書きます。 前提条件 ・VPSの契約が済んでいる 0.目次 >>1.ユーザの作成 >>2.ユーザの「Wheel」グループへの追加 1.ユーザの …

Linuxで日本語が文字化けした時の対処法

Linuxで日本語の文字化けを回避する方法について書きます。 設定前は、テキストで日本語を入力すると下の図の様に文字化けします。 解決策として以下のロケール設定ファイルの修正手順を実施します。 &lt …

Linux間のscpコマンドを使ったファイル転送_★IT0012

Linux間のファイル転送 異なるサーバ(Linux)間のファイル転送方法についてです。 scpコマンドを使います。基本構文は下記です。 scp [転送元ファイル] [転送先サ …

SQL Developer接続エラーへの対処(ORA-12514, ORA-12505)

SQL Developer接続エラーへの対処 今回はSQL Developerを起動し、SYSTEMユーザで接続する際に発生したエラーの対処法について記載します。 目次  >>前提条件   …

no image

AviUtlの音ズレ回避方法

(※注)この記事は私自身の備忘目的です。 人様に読んで頂くことを意識して書いておりませんので、ご了承ください。 AviUtlの音ズレ回避法についてです。 事象 拡張編集で、動画ファイルと音声ファイルに …

Top