PC関係のメモ
error_logを分割するスクリプト / アクセスログに残る奇妙なGETリクエスト
error_logを分割するスクリプト
error_log を分割するスクリプトをちょっとバージョンアップ。
#!/usr/bin/perl
# divlog.pl
# : apache の error_log を分割する
$filename = shift(@ARGV);
print $filename . "\n";
%name2num = ("Jan" => "01",
"Feb" => "02",
"Mar" => "03",
"Apr" => "04",
"May" => "05",
"Jun" => "06",
"Jul" => "07",
"Aug" => "08",
"Sep" => "09",
"Oct" => "10",
"Nov" => "11",
"Dec" => "12");
open(FILE, "<$filename") or die("file not found");
while(<FILE>) {
$line = $_;
if($line =~ /^\[\w{3} (\w{3}) (\d{2}) [^]]+(\d{4})\]/) {
$num = $name2num{$1};
open(OUT, ">>$filename.$3$num$2");
print OUT $line;
}
}
結果はこんな感じ。
-rw-r--r-- 1 root root 238787 2月 8 18:01 error_log.20070918 -rw-r--r-- 1 root root 248720 2月 8 18:01 error_log.20070919 -rw-r--r-- 1 root root 169194 2月 8 18:01 error_log.20070920 -rw-r--r-- 1 root root 185087 2月 8 18:01 error_log.20070921 -rw-r--r-- 1 root root 593624 2月 8 18:01 error_log.20070922 -rw-r--r-- 1 root root 163200 2月 8 18:01 error_log.20070923 -rw-r--r-- 1 root root 159878 2月 8 18:02 error_log.20070924
先日、「error_logを分割するスクリプトないかなー」とググって見つけたのが自分のブログだったという罠。正直、perlのハッシュの使い方とか忘れてたのでBlack Bookで再学習しますた。
アクセスログに残る奇妙なGETリクエスト
Apacheのアクセスログを眺めていたら変なGETリクエストが記録されていた。
access_logより抜粋 ***.***.***.*** - - [18/Jan/2008:04:02:35 +0900] "GET http://www.yahoo.co.jp/ HTTP/1.1" 200 ...(以降省略)
このサーバはもちろんwww.yahoo.co.jpのサーバではない。
このログを再現するのは簡単で、たとえばこんな感じで再現できる。
$ telnet localhost 80 Trying 127.0.0.1... Connected to localhost.localdomain (127.0.0.1). Escape character is '^]'. GET http://www.yahoo.co.jp/ HTTP/1.1 Host: www.example.com HTTP/1.1 200 OK ...以下省略...
自身でホストしていないドメイン名に対するアクセスにも関わらず、ステータスコードは200(正常)となってしまう。
原因は下記を読むとわかる。対策としてはVirtualHostの設定で弾くことはできる。が、この方法だとHost:ヘッダがないアクセスでもはじいてしまう。もっといい方法はないものだろうか。
- No.1891 どうしてこんなログが残るのか?
- 心象風景 ―Mindscape― ≫ アクセスログに残る奇妙なGETリクエスト
- Apache Server Frequently Asked Questions
- ぴろ日記 - Apache Server Frequently Asked Questions: Why do I see requests for other sites appearing in my log files? , ThinkGeek ::..
要調査。
ルータが壊れたので交換
自宅のメインルータが壊れた。症状としてはリンクが断続的に切れる。酷いときは数秒おきに切れたり繋がったりを繰り返す状態。
メインルータはNTT-ME BA8000Pro。日記によると2003年8月23日に購入している。
代替機として、linksys BEFSR41C-JPを使用することにした。
が、困ることが一点。現在、同機のACアダプタを無線LANアクセスポイント(WAP54G)に使用してしまっているため、ルータを使用すると今度は無線LANアクセスが出来なくなってしまうこと。
ACアダプタだけ注文できるのかどうか問い合わせを出すか、いっそ無線LANルータを新たに購入しようか検討中。
後、ルータが壊れて気づいたことが一つ。
ルータのHUB機能はソフトウェアが介在する(VLAN機能もあるルータだし)ため効率が悪いっぽい。ルータ側に繋がっている機器をHUBに繋ぎかえたほうがLAN内通信は効率が良いのでは。というわけでそうした。
sudoのリスクとメリット
IT鎖国
第18回 あなたの会社は仕事中にはてぶを使えますか?──IT鎖国する大企業 | WIRED VISION
「IT鎖国」。なるほど、言い得て妙。
DB分散の次は非同期処理がウェブアプリのスケーリングのトレンドになる
[ソフトウェア] DB分散の次は非同期処理がウェブアプリのスケーリングのトレンドになる - Don'tStopMusic (2007-09-28)
サーバ上での非同期処理というかジョブキューのお話。

