Namazu-users-ja(旧)


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: インデックスの最新化



From: "=?iso-2022-jp?B?GyRCSHg+ZRsoQiAbJEIxUU9CGyhC?=" <h-onoue@xxxxxxxxxxxxxx> さん曰く
Subject: [namazu-users-ja] Re: インデックスの最新化
Message-ID: <001201c00275$980b9920$6f88db85@z6s6f>
Date: Thu, 10 Aug 2000 11:49:24 +0900

尾上> 私も同じような現象に遭遇しました。cronでmknmzと
尾上> すると、Office文書系のフィルタ処理をしなくなって
尾上> その部分のインデックスが更新されないのです。

尾上> 環境は、
尾上> kondara 1.1

以下、OS に関わらず一般的な UNIX の話なのですが、

尾上> コマンドラインからmknmz -Cすると
<snip>
尾上> と、対応メディアタイプでほぼ全てのメディアを認識
尾上> しているのですが、cronからmknmz -Cとすると
<snip>
尾上> となって、Office文書系のメディアを認識していないこ
尾上> とが分かりました。

尾上> 対応メディアタイプ:
尾上>   application/excel
尾上>   application/msword
尾上>   application/pdf
尾上>   application/powerpoint

このあたりのものは、(例えば) filters/msword.pl などを見るとわか
るのですが、'wvHtml', 'lv', 'wvVersion', 'doccat' などの外部コマ
ンドを検索して、それらが存在したら対応するようになっています

というわけで、cron が動いているときの PATH に上記の外部コマンド
が含まれていないだけという問題じゃないかと思います。

# system の default path っていうんでしたっけ?

尾上> とりあえず、解決策として、rootのcronで、インデックス
尾上> 作成を行うユーザにsuしてmknmzを実行するようにしました。

尾上> rootのcronで実行しているshell scriptは
尾上> su - foo <<END > $log_file

ここで、'su -' を使っておられるので、su した後は foo さんの
.cshrc なり .bashrc なりで PATH が追加されているのだと思います。

これが原因なら shell script の先頭で PATH を設定すれば良いです。
また、Linux 系も上記の外部コマンドもまったく知らないのですが、
LD_LIBRARY_PATH なども必要かもしれません。

## それ以前に一般ユーザの権限で動けばいい cron を root で動かす
## のは、私は気持悪いです。

From: "M.Matoba" <makk@xxxxxxxxxx> さん曰く
Subject: [namazu-users-ja] インデックスの最新化
Message-ID: <01ee01c001b8$f6e22580$6500a8c0@xxxxxxxxxx>
Date: Wed, 9 Aug 2000 13:19:08 +0900

makk> Cronで
makk> /home/local/bin/mknmz -O /webstaff/ns-home/docs/search/
makk> /webstaff/ns-home/docs/
makk> -f /webstaff/ns-home/docs/search/mknmzrc
makk> と毎日流しているのですが、最新に反映されていないようです。

これって本来一行ですよね。mknmz は大丈夫のようですが、

% mknmz -O aaa bbb -f ccc より
% mknmz -O aaa -f ccc bbb と書く習慣をつけた方がなにかと良いです。

# 使い方: mknmz [オプション] <対象>... ですから。

また、本題の方は mknmz に '--verbose' をつけて出力を見てみたり、
indexdir/NMZ.r や NMZ.log を見ると原因がわかったりしないでしょう
か?

-- 
白井秀行 (mailto:shirai@xxxxxxxxxxxxxxxxxxx)