アキラのITメモ:入力行に時刻を付け出して吐き出すフィルタ

IT関係、技術関係のメモです。

入力行に時刻を付け出して吐き出すフィルタ

vmstatを打ちっぱなしにしておきたいものの、vmstatの出力には時刻が含まれておらず、さてどうやってつけようと調べていたところ、入力行に時刻を付けて吐き出すフィルタを見つけました(その1その2その3)。ちなみに、vmstat はプロセス・メモリ・ページング・ブロック IO・トラップ・CPU 稼働状況などに関する情報を報告してくれるコマンドです。

以下のようなフィルタを用意、puttime.plなどの名前で保存します。PATHが通ってるところに置くとよいかも。

#!/usr/bin/env perl
use strict;
use warnings;
use POSIX qq(strftime);
$| = 1;
while (defined(my $line = <>)) {
  print strftime('[%Y/%m/%d %H:%M:%S] ', localtime), $line;
} 

あとは以下のようにして使うだけです(表示は一部省略)。便利。

$ vmstat 1 | puttime.pl
[2007/1/20 10:00:00] procs  memory   
[2007/1/20 10:00:00] r b w  swpd free
[2007/1/20 10:00:00] 1 0 0     0  555
[2007/1/20 10:00:01] 0 0 0     0  555
[2007/1/20 10:00:02] 0 0 0     0  555

pingの場合はこんな感じになります。

$ ping www.google.co.jp | puttime.pl 
[2007/1/20 10:00:00] PING www.l.google.com (66.249.89.99)
[2007/1/20 10:00:00] 64 bytes from 66.249.89.99
[2007/1/20 10:00:01] 64 bytes from 66.249.89.99
[2007/1/20 10:00:02] 64 bytes from 66.249.89.99

カテゴリ: Perl 投稿日: 2007年01月20日 15:29
Trackback URL: http://akira-site.net/cgi-bin/mt/mt-tb.cgi/446

コメント

コメントを投稿





カテゴリ「Perl」内の記事

サイト内検索

カテゴリ

最近のエントリ

関連商品

アバウト

Atom RSS
Powered by MT3.33-ja
合計:total
今日:today 昨日:yesterday