せっかく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}")
動くやんけ.
なんか,意図したことがすんなりいくと,逆にびっくりしてしまうな.ま,なんにせよ,これで,なんかできそうな気がしてきた.