特定のリンクにアクセスした回数をカウントする目的で/redir
、ファイルがさまざまな静的アドレスを他のアドレスにリダイレクトするWebサイト上のディレクトリがあります。.htaccess
そのデータを数えるのに役立つスクリプトを書きたいと思います。
すでに2つのスクリプトがあります。access.log.0
1つ目は、cronジョブを介して毎日午前2時頃にファイルからlog.totalファイルにデータを追加します。2つ目は、最小日付と最大日付を指定して、インタラクティブに実行してカウントを生成できるスクリプトです。
cronスクリプト:
#!/bin/bash
rm -f log.tmp
grep "GET /redir/.*" access.log.0 | cut -d " " -f4,5,7 > log.tmp
cat log.tmp >> log.total
rm log.tmp
これにより、次のようなデータが生成されます。
[21/Aug/2012:00:31:27 -0700] /redir/abc.html
[21/Aug/2012:00:31:35 -0700] /redir/def.html
[21/Aug/2012:00:31:35 -0700] /redir/abc.html
[21/Aug/2012:00:31:40 -0700] /redir/ghi.html
[21/Aug/2012:00:31:46 -0700] /redir/123.html
[21/Aug/2012:00:31:58 -0700] /redir/def.html
[21/Aug/2012:00:32:07 -0700] /redir/abc.html
etc...
readLogs.sh "log.total" "1 week ago" "today"
ここで、 1週間前から今日までの間に各ファイルにアクセスした回数をカウントするスクリプトを使用して実行できるようにします。
私はその仕事をする私のスクリプトを以下に投稿しましたが、そこに概説されているいくつかの制限があります。出力は、任意の読み取り可能な形式にすることができます。