何者にもなれていない5年目のエンジニアブログ

Linuxコマンドを制するものは障害対応を制す。# 毎分のアクセス数を数えたい。

(´-`).。oO(22時は毎分どれくらいアクセスきたのかな)

そう。そんな時は、

Linuxコマンドを使おうっ!

例えば、access_logには、

2014:22:01 user_id = 1
2014:22:02 user_id = 3
2014:22:02 user_id = 5
2014:22:03 user_id = 2
2014:22:03 user_id = 6
2014:22:10 user_id = 7
2014:22:11 user_id = 8
2014:22:12 user_id = 9

などと管理されてるとしましょう。 そんな時はこれでok

for i in seq -w 00 59; do echo "2014:22:$i";grep 2014:22:$i access_log| wc -l; done

結果:

2014:22:01 1
2014:22:02 2
2014:22:03 2
2014:22:04 0
...省略
2014:22:10 1
2014:22:11 1

のように出力されます。

まず、

1. for i in seq -w 00 59 で、00 59 まで変数iに入れてfor文で回す。

2. do echo "2014:22:$i"; で時間を表示させる。

3 grep 2014:22:$i access_log| wc -l; その時間の数を数えます wc -lは数を数える。

となります。参考まで