ふそうごむ。by扶桑ゴム産業

扶桑ゴム産業の最新情報とうぇぶますたあ「TKYK」の個人的日記。

IBM OmniFind Yahoo! EditionをFedoraCore起動時に自動起動する方法

2008/04/18追記: 以下の例は古いものです。バージョン8.4.2にて純正のサービス起動シェルスクリプトが新たに付け加えられているので、そちらを利用すると良い。インストール時に「起動時に立ち上げる」オプションをチェックするだけで実現できる。クロール時間の設定は以下の例を用いることが出来る。

会社の内部サイトも沢山増えてきて、縦断的に検索できたら便利なのになーと思っていたら、いいものを見つけた。 IBM OmniFind Yahoo! Edition お金があったら、Google Miniとかの検索アプライアンスを導入するところでしょうし、そっちの方がいいと思うのだけど、如何せん高っ!!(最低40万かよ…) でも、これ(IBM OmniFind Yahoo! Edition)は何と無料。おおっ。 このエンタープライズ向け検索ソリューションの利点はインストールが非常に簡単だと言うこと。Windowsだけでなく、Linuxもあること。何はともあれ無料が一番大きい利点だけど。 折角なので、Windowsじゃ面白くない(?)、FedoraCore5に入れるしか。と試してみた。色々ネット情報を見ると大変そうな体験談もあったが、意外にも非常にすんなりインストールできてしまった。ダウンロードして、-consoleオプション付けてコマンドシェルでキーをたたいたぐらいか。あっけなかった。(とはいえ、足りないパッケージが1つあったのでそれは別途yumでインストールした) GNOME上で起動したり、コマンドラインでも起動終了できるのだが、折角Linuxなんだから、chkconfigで起動時の自動起動したいよね?ということで、 /etc/rc.d/init.dにshシェルプログラムを加える。例えば、
vim /etc/rc.d/init.d/omnifind
とかして、そこに
#!/bin/sh # chkconfig: - 97 3 # processname: omnifind # description: Purpose is to autostart IBM Omnifind Server. PATH="$PATH:/opt/ibm/OmniFindYahooEdition/bin" STARTUP="/opt/ibm/OmniFindYahooEdition/bin/startup.sh" SHUTDOWN="/opt/ibm/OmniFindYahooEdition/bin/shutdown.sh" case "$1" in   start)      echo -n "Starting OmniFind: "      $STARTUP      ;;   stop)      echo -n "Shutting down OmniFind: "      $SHUTDOWN      ;;   restart)      $0 stop      $0 start      ;; esac if [ $# -gt 1 ]; then   shift   $0 $* fi exit 0
としておく。 上のうち、chkconfigで動くようにするためには
# chkconfig: - 97 3 # processname: omnifind # description: Purpose is to autostart IBM Omnifind Server.
の部分が必須となる。例の場合は起動時優先度97、終了時3である(若い方を先にstartあるいはstopする)。また、shスクリプトは実行可能なようパーミッションを755などに変更する。 それから、chkconfig --add <名前>を行う。これにより、chkconfigによる制御が可能となる。
chkconfig --add omnifind
これでserviceコマンドで起動したり、終了したりできる。
service omnifind start
さらに、クロールする時間を夜間にするように設定する。omnifind_crawler.shファイルを作って、
#!/bin/sh PASSWORD='*******' /opt/ibm/OmniFindYahooEdition/bin/manageCrawler.sh ¥     -h http://host:10000 ¥     -a $1 -i Default -t web -p "$PASSWORD" /opt/ibm/OmniFindYahooEdition/bin/manageCrawler.sh ¥     -h http://host:10000 ¥     -a $1 -i Default -t file -p "$PASSWORD"
それから、crontabにて設定
crontab -e 3 7 * * * /root/cronshells/omnifind_crawler.sh stop 3 20 * * * /root/cronshells/omnifind_crawler.sh start
ただ今試用中ですが、なかなか面白いです。ファイル類もクローリング出来るので、見つからないファイルを探したいときに助かる。でもちょっと、ファイルかウェブページかデフォルトは見にくいので、改善を待つか、或いはWebAPIも用意されているので自前で作ってしまうか。<多分こっちの方がよさそう…