http://www.hatena.ne.jp/1072543716#
apacheのログ解析にawstatsというソフトを使用しています。一方apacheのログは日付毎に別のファイルに保存されるように設定しています(ファイル名には accesslog20031227... - 人力検索はてな
URLはダミーです。
簡単なスクリプトを書くというのはいかがでしょうか?
本当は日付の計算をするロジックを埋めたいのですが、
閏年対応など面倒なので簡略化したものを書いておきます。
OSやシェルが書いてありませんので、bashで書いておきます。
なお、awstatsの使い方は、存じ上げませんので、適宜埋め込んでください。
cd LOGDIR
cat $(ls -tr accesslog*.log | tail -4 | head -3 ) > 3days.log
とすると過去3日分(1日前、2日前、3日前)のログのサマリーが3days.logに記録されます。
また、
cd LOGDIR
rm -f 3days.log
for FILE in $(ls -tr accesslog*.log | tail -4 | head -3 )
do
cat $FILE >> 3days.log
done
としても同様です。
なお、タイムスタンプでソートすることになりますので、
もしかすると予期しないことが起きるかもしれません。
その場合は、lsでマッチさせるファイル名をもう少し細かく限定するか、
日付計算のロジックを書く必要があります。
これでいかがでしょうか?
やはりスクリプトで1ファイルにあつめておいてそれを読ませるのが一番手っ取り早いですかね。ログを日ごとに分割しているのは決して珍しいことではないと思っていたので、どこか awstats の話をしているサイトに書いてないかと自分でも探していたのですが、結局こちらでも見つかりませんでした。
ちょっとその方法で検討してみます。どうもありがとうございました。