人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

apacheのログ解析にawstatsというソフトを使用しています。一方apacheのログは日付毎に別のファイルに保存されるように設定しています(ファイル名には accesslog20031227.log のように日付の入ったファイル名をつけています) この状況で、たとえばここ3日間ぶんのログの集計を一気にやりたい場合、%MM-48渭48 で集計したあと、 %MM-24渭24 を実行するというように1日分づつやるのが面倒なので自動で見に行くログファイル名を遡ってくれるように設定したいのですが、この方法の可否または実際の方法が書いてあるページはあるでしょうか。 cronを使って毎日定時に処理すれば良いのは分かっていますが、今回はそういった代替案ではなく上記問題の直接的な解法を求めています。(ちなみに質問文中化けていますけど % D D と打ったものです>渭)

●質問者: landis
●カテゴリ:コンピュータ
✍キーワード:24 Apache AWStats MM ソフト
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● chikampv
●40ポイント

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 の話をしているサイトに書いてないかと自分でも探していたのですが、結局こちらでも見つかりませんでした。

ちょっとその方法で検討してみます。どうもありがとうございました。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ