SEの仕事をしているとネットワークの疎通テストでpingコマンドを実行することがよくあります。
テストの結果としてパケットがいつロスしたのか、エビデンスとして時間を残しておきたいという場合に良く実施していた方法を紹介します。
Linuxでpingコマンド結果に時間を表示する方法
方法としてはpingコマンドの結果を加工して時刻を付与して表示するという形になります。加工方法によっていろいろやり方があります。
各コマンドの[宛先]部分を変更して使用してください。
Linuxのpingコマンドは、オプション指定なしでpingを打ち続けます。
- dateコマンドで時刻を付与
ping [宛先] | while read line; do echo date +'%F %T' $line; done
- xargsでdateコマンドの引数に渡す
ping [宛先] | xargs -n 1 -IXXX date +'%F %T XXX'
- awkで加工し時刻を付与
ping [宛先] | awk '{print strftime("%Y/%m/%d %H:%M:%S"), $0}'
- perlで加工し時刻を付与
ping [宛先] | perl -ne 'print scalar(localtime), " ", $_'
まとめ
他にもやり方はありますが、比較的簡単でわかりやすいものをまとめました。
pingコマンドだけでなく他のコマンド結果にも応用できると思うので活用してみてください。
コメント