読者です 読者をやめる 読者になる 読者になる

カタカタブログ

SIerで働くITエンジニアがカタカタした記録を残す技術ブログ。Java, Oracle Database, Linuxが中心です。たまにRuby on Railsなども。

Windowsで時刻表示+ping監視するスクリプトを仕込む

Windows環境からある特定のサーバへのネットワークが不安定だったので、pingを実行しつづけてその結果をファイル出力するスクリプトを仕込んでみた。

以下のような10回pingをうち30秒スリープする、を無限に繰り返すバッチファイルを作り、リダイレクトするというとても単純なもの(www.google.comは適宜監視対象サーバホストに変更する)。

mon_ping.bat

@echo off
:LOOP
  echo ---- %date%-%time% ----
  ping -n 10 www.google.com
  sleep 30
GOTO LOOP

これをコマンドプロンプトから、ファイルにリダイレクトして実行してやる。

mon_ping.bat > ping.out

ping.outには以下のように記録される。

---- 2015/01/20-16:28:22.70 ----

www.google.com [74.125.235.113]に ping を送信しています 32 バイトのデータ:
74.125.235.113 からの応答: バイト数 =32 時間 =2070ms TTL=54
74.125.235.113 からの応答: バイト数 =32 時間 =3441ms TTL=54
74.125.235.113 からの応答: バイト数 =32 時間 =2828ms TTL=54
74.125.235.113 からの応答: バイト数 =32 時間 =3160ms TTL=54
要求がタイムアウトしました。
74.125.235.113 からの応答: バイト数 =32 時間 =2507ms TTL=54
要求がタイムアウトしました。
74.125.235.113 からの応答: バイト数 =32 時間 =3326ms TTL=54
74.125.235.113 からの応答: バイト数 =32 時間 =1978ms TTL=54
要求がタイムアウトしました。

74.125.235.113 の ping 統計:
  パケット数: 送信 = 10、受信 = 7、損失 = 3 (30% の損失)、
ラウンド トリップの概算時間 (ミリ秒):
  最小 = 1978ms、最大 = 3441ms、平均 = 2758ms
---- 2015/01/20-16:29:25.73 ----

www.google.com [74.125.235.113]に ping を送信しています 32 バイトのデータ:
74.125.235.113 からの応答: バイト数 =32 時間 =111ms TTL=54
74.125.235.113 からの応答: バイト数 =32 時間 =109ms TTL=54
74.125.235.113 からの応答: バイト数 =32 時間 =69ms TTL=54
74.125.235.113 からの応答: バイト数 =32 時間 =94ms TTL=54
74.125.235.113 からの応答: バイト数 =32 時間 =237ms TTL=54
74.125.235.113 からの応答: バイト数 =32 時間 =113ms TTL=54
74.125.235.113 からの応答: バイト数 =32 時間 =110ms TTL=54
74.125.235.113 からの応答: バイト数 =32 時間 =111ms TTL=54
74.125.235.113 からの応答: バイト数 =32 時間 =133ms TTL=54
74.125.235.113 からの応答: バイト数 =32 時間 =121ms TTL=54

74.125.235.113 の ping 統計:
  パケット数: 送信 = 10、受信 = 10、損失 = 0 (0% の損失)、
ラウンド トリップの概算時間 (ミリ秒):
  最小 = 69ms、最大 = 237ms、平均 = 120ms

止めるときはCtrl-Cで。とても単純だが、目的はとりあえず果たせるのでよしとする。