ページの先頭行へ戻る
Symfoware Server V12.7.0 RDB運用ガイド(Textアダプタ編)
FUJITSU Software

4.4 インデックスの自動更新

インデックスは、時間を設定して、自動更新することができます。
インデックスを自動更新するには、crontabコマンドを使用して、インデックスを更新するシェルを登録します。

以下に、シェル(idxupdate.sh)が、毎日23時にインデックスを自動更新するように登録する例を示します。

$ crontab -e                                                  (1)
(ユーザの処理)                                                  (2)
$ crontab -l                                                  (3)
00 23 * * * /home/TEXTADP/idxupdate.sh

(1)crontabファイルの編集を開始します。

(2)crontabファイルを編集します。

(3)crontabファイルを表示します。

以下に、自動実行するシェルの内容(idxupdate.sh)を示します。

#!/bin/sh
#
# インデックス自動更新(Bshell版)
#
  
# PATH環境の設定
PATH=/opt/FSUNlnkre/bin:/opt/FSUNrdb2b/bin:/opt/FJSVtss/bin:/usr/bin
# LD_LIBRARY_PATH環境の設定
LD_LIBRARY_PATH=/opt/FSUNrdb2b/lib:/opt/FJSVtsdk/lib
# RDBシステム名設定
RDBNAME=TEXTADP
  
# 差分ログファイルから定義ファイル作成
rdbtais -r diff -c isdef01 -m /usr/TEXTADP/map1 -f /usr/TEXTADP/list1 -w /tmp
if [ $? -ne 0 ]; then
          echo "rdbtais err!!"
          exit 1
fi
  
# インデックスの検索サービス停止
isususpend /usr/TEXTADP/INDEX
if [ $? -ne 0 ]; then
          echo "isususpend err!!"
          exit 1
fi
  
# インデックスの更新
isuindex -index /usr/TEXTADP/INDEX -conf /usr/TEXTADP/indexdef1 
                   -list /usr/TEXTADP/list1 -map /usr/TEXTADP/map1
if [ $? -ne 0 ]; then
          echo "isuindex err!!"
          exit 1
fi
  
# インデックスのバックアップ
tar -cf indexbak.tar /usr/TEXTADP/INDEX /usr/TEXTADP/INDEX#db
if [ $? -ne 0 ]; then
          echo "tar err!!"
          exit 1
fi
  
# インデックスの検索サービス再開
isurestart /usr/TEXTADP/INDEX
if [ $? -ne 0 ]; then
          echo "isurestart err!!"
          exit 1
fi
  
# マップファイル/収集文書リストファイルの削除
rm /usr/TEXTADP/map1 /usr/TEXTADP/list1
  
exit 0