2003年08月17日(日) [長年日記]
§1 msearch インデックス自動更新
ナントカできました。前回適当にやって出来なかったので、今回じっくり見直してみました。自分の間違いも含めて気付くところがあって、直したら難なく動きました。いままでブラウザからcgiで動かしていたときは、容量制限の関係か途中で止まって更新できませんでした。
アンテナの更新も同じですが、ブラウザからの呼び出しには何らかの制限が掛けられているようで、これも良くタイムアウトやサーバーエラーを起こすのですが、Telnetでのプログラムの実行には制限がないようで、問題なくしかも短い時間でインデックスが出来上がります。で、crontabに登録して一日一回自動更新のテストを開始しました。これが上手く行けば日記の検索もなんとかなるかも。
msearchのヘルプで説明されている方法をそのまま使うのですが、その説明に間違いが有りました。僕の場合1.42を使っているので、その設定方法を訂正してここに記しておきます。防備録代わりとも言う。 autogenindex.sh等と言う名前で、以下のような内容のファイルを作ります。
#!/bin/sh #シェルの起動 ./genindex.pl <<HERE #実行ファイルを呼び出し ../ #検索対象トップディレクトリ http://www.foo.co.jp/~bar #そのディレクトリのURL .html,.htm,.shtml #検索対象ファイルの拡張子 cgi-bin,secret #除外するディレクトリ secretfile.html #除外するファイル 検索,私 #除外する検索語 1 #ランキング方法 HERE
この2行目で
./genindex.pl <<HERE
とあるのを
./genindex.pl <<HERE
に直さないと動きません。HTML記述時にセミコロンを1つ打ち忘れたためだと思われますが、1.5系のほうでも同じ間違いがあるので気を付けなければなりません。いわゆるヒアドキュメントの典型なのですが見逃しておりました。除外する検索語に日本語を使っているので保存時の文字コードはEUC、改行コードはLFで無ければなりません.
これをgenindex.plと同じディレクトリへFTPして、SSHから
%./autogenindex.sh
として、インデックスが更新されたら後はcronに登録します。cron.txtの様な名前で、
0 0 * * * autogenindex.sh
という内容のテキストファイルを作って適当なディレクトリにFTPしたあと、SSHから、
crontab ~/htdocs/cron.txt
等とした後
crontab -l
で内容を確認すれば出来上がりです。
さて、msearchがちゃんと動くようになったら、一つのmsearchで、サイト全体とおみさんの日記と僕の日記とそれぞれに別のインデックスで検索できるように考えないといけません。やれやれ。
§2 もって生まれたか
あーやんのことばのセンスはどっちに似たのかなぁ!カナキーで打っているそうなので間違って小さい"っ"が入ったとは思えないし。やるなぁ!
§3 squeeze.rb
言われたとおりに設定したが、果たしてけられないか心配です。