サーバーpingの応答をキャプチャして警告を送信する方法

サーバーpingの応答をキャプチャして警告を送信する方法

次のコマンドを実行しています。

ping ldap.corp.XXXXX.com

LDAPサーバーが起動します。

Pinging ldapeu.corp.XXXXX.com [XX.XXX.XXX.XX] with 32 bytes of data:
Reply from XX.XXX.XXX.XX: bytes=32 time<1ms TTL=252

LDAPサーバーがダウンしました:

ping: ldap.corp.XXXXX.com: Name or service not known

LDAPサーバーがダウンした時期を識別するためにKSHファイルにコードをどのように実装しますか?

ベストアンサー1

ping成功に応じて異なる終了コードを返します。少し異なる動作をすることができるいくつかのping実装がありますが、私は以下で引用しました。マンページの一つ

もし平らな応答パケットはまったく受信されず、コード1で終了します。パケットの場合計算そして締め切り指定されており、以下より小さい。計算パケットが受信された時間締め切り到達するとコード1で終了します。他のエラーでは、コード2で終了します。それ以外の場合は、コード0で終了します。これにより、終了コードを使用してホストがアクティブであることを確認できます。

pingは成功の場合は0以外の値を使用でき、失敗の場合は0以外の値を使用できます。echo $?これを実行した後に確認できます。

fpingたとえば、モニタリング用の他のpingプログラムがあります。

したがって、簡単な作業を実行できます。

if ping -c 2 ldapeu.corp.XXXXX.com ; then
    echo up
else
    echo down
fi

(同様の方法を使用してif ping … >/dev/null 2>/dev/null; thenすべてのメッセージ印刷を削除できますping。)

おすすめ記事