- PR -

WEBサーバーのアクセスログを定期的に自動収集方法で

1
投稿者投稿内容
未記入@男
常連さん
会議室デビュー日: 2008/01/30
投稿数: 23
投稿日時: 2008-02-01 00:38
WEBサーバーのアクセスログを定期的に収集したいのですが方法が思い浮かばず悩んでいるのでお願いします。

WEBサーバー(IIS5.1)のログを収集してまとめたいのですが「自動収集してファイルに落とす」方法で悩んでいるのでご教示願います。
LogParserを使用して取るのですが1ヵ月ごと及び3ヶ月分まとめたものを取りたいと考えています。その辺はバッチを組んで取ればすぐに解決はしますが・・・IISの出したログは月ごとの設定にしてあります。
そうするとログのファイル名はex0801.logとかなりますがその度バッチで収集するファイル名を変えてもいられないので自動的にバッチの内容を変えれたらいいのですが・・・3ヶ月毎も同様にです。
何年分も予測してバッチも作っておくわけには行かないのでファイル名変更に対応していけるようにしたいのですがいい方法が思い浮かばないのでヒントとかありましたらお願いします。
ひさ
常連さん
会議室デビュー日: 2005/05/10
投稿数: 46
投稿日時: 2008-02-01 14:16
どういう意図で3ヵ月ごとにまとめたいのかがわからないのですが、
四半期ごとでまとめたいということでしょうか?
4〜6月、7〜9月、10〜12月、1〜3月
であれば、ログのファイル名には年月が入ってるわけですし、バッチ
でもvbsでも何とでもなると思うんですが、どの辺で詰まってるんで
しょうか。

※ex0801.logてのは、2008年1月のログってことですよね?
未記入@男
常連さん
会議室デビュー日: 2008/01/30
投稿数: 23
投稿日時: 2008-02-03 02:05
返信ありがとうございます。
そうです。四半期ごとにまとめて行きたいと思っています。
あとログについてはそのとおりです。
VBSについて知識もないので(いずれはやりますが)早めに言語を使わず実行できる方法とかあればと思いまして・・・
ちゃっぴ
ぬし
会議室デビュー日: 2004/12/10
投稿数: 873
投稿日時: 2008-02-04 14:43
効率は落ちますが、LogParser で filename に対し "*" wild card を指定し、その上で時刻に filter をかければできるでしょう。

Help に sample 載っていると思いますが。
_________________
ゆうじゅん
ぬし
会議室デビュー日: 2004/01/16
投稿数: 347
投稿日時: 2008-02-04 14:45
過去に収集されたログが存在しないという条件で、かつ、処理を実行するのが
1月、4月、7月、10月なら、以下のバッチでできると思います。

ただ、WSHは覚えていたほうが便利なので、勉強してWSHで作成してみるの
いいかもしれません

コード:
現在日から、年(下2桁)、月のファイル名を取得
SET CHKFILENAME=ex%DATE:~2,4%%DATE:~5,2%.log

c:\logにあるex*.logのうち、上記で作成した年月より前のファイル名の場合、c:\savelogに移動
FOR %i IN (c:\log\ex*.log) DO (IF %~ni%~xi LSS %CHECKFILE% move %i c:\savelog)


未記入@男
常連さん
会議室デビュー日: 2008/01/30
投稿数: 23
投稿日時: 2008-02-08 00:26
みなさんありがとうございました!
貴重な意見ありがとうございました
皆さんのおかげで自分のやりたいことが出来ました!
また新たな問題が出たので別スレッドを立てますがよろしくお願いします。
1

スキルアップ/キャリアアップ(JOB@IT)