Archives

You are currently viewing archive for 23 June 2002

2002/06/23(日): Namazu

対象ディレクトリを丸ごと一度に mknmz しようとしたら,
さんざん待たされたあげくに Out of memory といわれてしまった.
--checkpoint とかいうオプションも試したが無駄だった.
そこで,mknmz も月ごとのディレクトリ単位で実行することにした.
今は cron で昼休みに6月のディレクトリだけ実行してる.
現在日時から自動的に対象ディレクトリを決めて mknmz するスクリプトでも書くかな.


M$ Word, Excel, PowerPoint も検索対象に :

ActivePerl だと oleword.pl とかのフィルタが使えるんだろうか?
Cygwin では他の UNIX と同じようにツールをコンパイルして入れたら
フィルタが使えるようになった.
ただし,ファイルによって Excel のインデックスを作ってるときに
メモリを食いつぶして落ちることがあるようだ.
ファイル名がいかんのか,Excelファイル内のマクロがいかんのかは不明.
あと,xpdf は置いてあった Win 用バイナリを入れたが,日本語が読めないみたい.



検索結果 SJIS に :

日本語添付ファイル名を SJIS にしたので,
検索結果に日本語ファイル名.xls などがあると文字化けしてしまう.
.namazurc で Lang ja_JP.SJIS とフルで指定したら
検索結果全体が SJIS になってめでたしめでたし.

2002/06/23(日): MHonArc


最新版はパッチを当てなくてもリソースの書き方次第で日本語もうまくいくらしい.
が,日本語添付ファイル名のデコードはさすがにうまくいかないらしいので,
あらかじめ nkf でデコードする.



さて,今までに届いてたメールを MHonArc に通すわけだが,こんなとこで IMAP が大活躍.
OE から Drug & Drop で mbox 形式に変換できる.
しかし,1年ちょっとで2000件以上のメールをひとつの IMAP フォルダに放り込んだら,
かなりレスポンスが悪くなった.また,これを HTML に変換するときも,
直接 MHonArc に食わせてひとつディレクトリに出力しようとすると,
これまたとんでもない時間とリソースを食う.



そこで mlist2html の登場となるのだが,このスクリプト,
標準入力から1件分のメールを入力するのが前提なので,
最初のヘッダの年月で放り込むディレクトリを決定している.
なので,IMAP 経由で作った巨大 mbox を月ごとに分割するスクリプト
*3をゴリゴリ書いて,めでたく HTML 化完了.
fetchmail で取り込んだメールも procmail 経由でちゃんと追加されていく.






*3
:スクリプトでは From ヘッダの時間で判断してたが(最初の行だから),
mlist2html は Date: ヘッダで判断してるらしく,
ちょうど月をまたがってるメールがあって,
1か月分放り込み先を間違えたのがあった.(;_;

2002/06/23(日): mlist2html

mlist2html はかつてバイト時代に majordomo との組み合わせで
メーリングリスト html化に利用してたもの.自動で月ごとにディレクトリを分けてくれる.

2002/06/23(日): fetchmail

.fetchmailrc には,自社・常駐先・自宅(テスト用)
それぞれのエントリを skip で記述しておき,
次のようなラッパーを書いて(デーモンとしてではなく) cron から起動するようにしてみた.
なお,自社・常駐先・自宅でネットワークの設定を切り替えるために
IP コンフィグ というツールを使ってホスト名を切り替えるようにしている.
#!/bin/sh

HOSTNAME=`hostname`

case $HOSTNAME in
自社のホスト名)
fetchmail -d0 -s 自社のメールサーバ名
;;
常駐先でのホスト名)
fetchmail -d0 -s 常駐先のメールサーバ名
;;
自宅でのホスト名)
fetchmail -d0 -s 自宅のメールサーバ名
;;
esac
なお,.netrc というファイルにサーバ名・ユーザ・パスワードを書いておくと
fetchmail 起動時にパスワードを聞かれなくなる.
このファイルはもともと ftp コマンド用のものらしい.

2002/06/23(日): procmail

.procmailrc にこんな設定を書いて,nkf で SJIS に変換
*1してから mlist2html (MHonArcのラッパー) に食わせつつ自分が送信したもの
*2以外はスプールに残すようにした.
(LOG?)
(LOCK?)

0:
* ^From: .*自分のアドレス.*
| nkf -sm | mlist2html $HOME/public_html mail

0: c
*
| nkf -sm | mlist2html $HOME/public_html mail




*1
: EUC じゃないのは添付ファイル名が日本語のときに Windows から見たときに
文字化け状態になるから.副作用があるかもしれないがとりあえず.

*2
:Cc, Bcc で自分宛にも送信しておけばここに帰ってきて,
MHonArc でスレッドがつながってうれしいかなと思ったけど,
OE にはデフォルトで自分に CC するって設定がないのね.Mew は確かあったのに….