時間がないのでPHPとBashがごっちゃになってる上に変数も何もあったもんじゃない糞っぷりですが、急いでいたもんですんません!
analytic.php
<?PHP
$argDate = strtotime($argv[1]);
$file = $argv[2];
for($i = -120; $i <= 120; $i++){
echo date('d/M/Y:H:i', strtotime("+${i} minute", $argDate));
if($i < 120){
echo "\n";
}
}
?>
analytic.sh
#!/bin/sh
echo '' > result.csv
for line in `php ./analytic.php "${1}" ./access_log` ; do
count=`grep "${line}" ./access_log | egrep -v "\.(gif|jpg|css|js) " | wc -l`
echo ${line},${count} >> result.csv
done
access_logがあるフォルダに上記のファイル2点を作成して
sh ./analytic.sh "2012-06-13 18:00:00"
としてあげると数十分シェルが固まってから6月13日の18時から前後2時間で分毎のおよそのリクエスト数が
result.csvに出力されます。
0 件のコメント:
コメントを投稿