Apacheアクセスログと私(レンサバのアクセスログはCGIで参照できるのか)

せっかくRubyで遊んでいるので,アクセスログを整形するcgiを作れんもんかと考えた.いや,その前に,さくらインターネットのレンタルサーバーって(スタンダード契約)アクセスログ参照できるのかなあ.

そーゆーわけで,試しのコードを書いてみる.

#!/usr/local/bin/ruby

$SAFE = 1
logfilename = "../../log/access_log_20041009"
logfile = open(logfilename)

print "Content-Type: text/plain; charset=EUC-JP\n\n"

10.times{
  log = logfile.gets
  print log
}
logfile.close

おお,うまくいくじゃないか.

そういや,過去ログの方は圧縮してあるけど,これは展開できんのかな.

え~と,gunzipはあるんか?プログラムはwhichで探すんだっけ.どうも,違和感あるんだよな,このUNIXコマンド.どうしてもwhereと打ちたくなってしまう.

まあ,ともかくだ.usr/bin/gunzipにあることは分かった.が,これ,cgiで動かせるんかな?

ともかく,ファイルを開いているところの2行を以下の通り差し替えてみる.

logfilename = "../../log/access_log_20040908.gz"
logfile = open("|gunzip -c #{logfilename}")

動くやんけ

なんか,意図したことがすんなりいくと,逆にびっくりしてしまうな.ま,なんにせよ,これで,なんかできそうな気がしてきた.

日時: 2004年10月 9日 | PC/Web > Ruby |

コメントを投稿

(空欄でもかまいません)

(メールアドレスは管理人に通知されますが,Web上には表示されません)

Powered by Movable Type