スペースモラトリアムノカミサマ

日記+コメント付きブックマーク+他人にも役に立つかもしれない情報など。
(更新情報: RSS(ツッコミ付き) / RSS(ツッコミ抜き) / LIRS)

最近の TrackBack:
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|06|07|08|09|10|
2011|01|02|03|07|10|11|
2012|02|03|04|07|08|09|
2013|01|06|07|
2014|02|08|09|11|
2015|09|
2016|01|05|
2017|07|
2018|05|07|
2019|07|
2020|08|09|10|12|
2021|05|
2022|03|

2005/12/05

_ [システム運用][Perl] 入力行に時刻を付けて吐き出すフィルタ

特定のサーバに ping 打ちっ放しとか、vmstat しっぱなしということが良くあるわけですが、いずれも各行に現在時刻を付けてくれないので後でログを確認する時になかなか不自由です。

で、そういう不便なコマンドの出力結果にタイムスタンプを付加するフィルタスクリプト↓

#!/usr/bin/env perl
use strict;
use warnings;
use POSIX;
$| = 1;
while (defined(my $line = <>)) {
  print strftime("%F %T ", localtime), $line;
}

を puttime.pl とかいう名前でパスの通った場所に置いて、各コマンドの出力結果を渡してやるとウマーらしいです。

例えば ping -i 1 www.yahoo.co.jp では

Pinging www.yahoo.co.jp [202.229.198.216] with 32 bytes of data:
 
Reply from 202.229.198.216: bytes=32 time=10ms TTL=239
Reply from 202.229.198.216: bytes=32 time=9ms TTL=239
Reply from 202.229.198.216: bytes=32 time=8ms TTL=239
Reply from 202.229.198.216: bytes=32 time=8ms TTL=239
 :

となるところが、

ping -i 1 www.yahoo.co.jp | puttime.pl では

2005-12-05 23:40:10 Pinging www.yahoo.co.jp [202.229.198.216] with 32 bytes of data:
2005-12-05 23:40:10
2005-12-05 23:40:10 Reply from 202.229.198.216: bytes=32 time=10ms TTL=239
2005-12-05 23:40:11 Reply from 202.229.198.216: bytes=32 time=9ms TTL=239
2005-12-05 23:40:12 Reply from 202.229.198.216: bytes=32 time=8ms TTL=239
2005-12-05 23:40:13 Reply from 202.229.198.216: bytes=32 time=8ms TTL=239
 :

になってウマー。

わざわざスクリプトファイルを作るのが面倒なら、

ping -i 1 www.yahoo.co.jp | perl -MPOSIX -pe 's/^/strftime "%F %T ", localtime/e'

でも良い。

Windows コマンドプロンプトの場合は、' と " を逆転させて

ping -t www.yahoo.co.jp | perl -MPOSIX -pe "s/^/strftime '%F %T ', localtime/e"

という感じでしょうか。

(後日追記)

上記スクリプトをちょっと改良した例を掲載している下記のブログがあったので、こちらも改良版に修正しました。

[戯] 入力行に時刻を付けて吐き出すフィルタにわか鯖管のメモ - 入力行に時刻を付けて吐き出すフィルタ(Perlスクリプト)。参考まで。

(2012/3/5追記)

awk を使ってより完結に解決している例 → vmstatに時間を表示させる~その2:バッファリングしない~ - いぶきちまると一緒

_ [] 新伝馬町、光禅寺通、本櫓丁…よみがえれ仙台の旧町名@河北新報

伝統を重んじる梅原克彦市長の思い入れにより

[新伝馬町、光禅寺通、本櫓丁…よみがえれ仙台の旧町名@河北新報より引用]

そんな理由で町名を変更するのか!!!! そんなことに税金を無駄遣いするのか!! …絶望した! 新仙台市長に絶望した!!

…えー、年度末も近づき、毎年の組織改編に半ば辟易する (組織改変があるたびに不毛な業務が発生する職場にいるので) 中で記事を見てしまったので、つい敏感に反応してしました。

思わず憤ってしまいましたが、少し落ち着いてみると確かに趣ある名前が多くて良い…かもしれない、と、もう少し前向きな姿勢で受け止めてみようかと思います。

組織改編の話に戻ると、ちなみに昨年度の組織改変では年度末にン千万円というコストがかかったそうです。今年も大きな動きがありますが、それだけのコストをかけてやるからには、本当に意義あるものとなって欲しいですね。

_ [] 京ぽん解約

買うだけ買ってほとんど使いもせずひたすら基本料を払い続けていた AH-K3001V をやっと解約しますた。

昔は一度買った携帯を解約するには横浜の DDI ポケットサービスセンターまで行かなければならなかったのに、いつの間にか電話一本で解約できるようになっていたようです。

いったいいつ買ったのか改めて振り返ってみると、1.5年前だったということが発覚して orz

電話一本で電話一本で電話一本で

本日のツッコミ(全2件) [ツッコミを入れる]
_ さくら (2005/12/06 15:25)

市町村合併で、アホみたいな平仮名の市町村名が続出しているご時勢に、そんな理由で町名を変更してくれる市長がいるほうがうらやましいです。<br>税金使って「さくら市」とか付けられると、市民総低脳化したような気分になります。欝。

_ Cyri (2005/12/09 10:05)

>仙台の旧町名<br>これは藤井市長のときからそんな話はあったような気がしまつ。<br>個人的には中央何丁目とかそんなのよりは<br>昔の町名のほうがいいと思うょ