 |
◆ 設定方法 ◆
《手順1》 実行ファイル lmutil の用意
今回のサンプル手順では lmutil という実行ファイルが必要となります。この実行ファイルはライセンスステイタスをコマンドベースで確認できます。FieldView インストールディレクトリ内には同梱されておりませんが、他の FLEXlm 利用のアプリケーションなどではインストールディレクトリ内に配置されています。この実行ファイルをご用意ください。
《手順2》 各ライセンスファイルの用意
各サーバへのライセンスファイルを別々のライセンスファイルとして licenseA.dat, licenseB.dat, licenseC.dat, ..... のような形で用意します。
《手順3》 起動スクリプトの用意
以下にサンプル シェルスクリプトを示します。
---------------------------サンプルシェルスクリプト ここから ------------------
#!/bin/bash
LMUTIL="/usr/local/Pointwise/flexnet/linux/lmutil"
TargetLicenseFile="/usr/local/FieldView/fv12.1/fv/data/license.dat"
TargetFVexe="/usr/local/FieldView/fv12.1/fv/bin/fv"
#------------------------------------------------------------------------
### /home/foo/work/license//licenseA.dat
### /home/foo/work/license//licenseB.dat
#------------------------------------------------------------------------
cat $0 | awk '($1 == "###"){printf("%s\n", $2)}' > "./tmp.list"
nRow=`wc -l "./tmp.list" | awk '{printf("%d", $1)}' `
echo "number of license files : "${nRow}
echo ""
nCount=0
while [ true ]
do
nCount=$((nCount+1))
if [ ${nCount} -gt ${nRow} ] ; then
echo "Sorry, All floating licenses are in use."
break
else
echo "file number:"${nCount}
fi
#---- obtain the license file information
LMFILE=`awk '(NR == '${nCount}'){printf("%s", $1)}' "./tmp.list"`
echo ${LMFILE}
echo ""
#---- obtain the license daemon status
${LMUTIL} lmstat -a -c ${LMFILE} > ./tmp.log
issued=`awk '($1 == "Users" && $2 == "of"){printf("%d\n", $6)}' ./tmp.log`
used=`awk '($1 == "Users" && $2 == "of"){printf("%d\n", $11)}' ./tmp.log`
echo "issued : "${issued}
echo " used : "${used}
if [ ${used} -lt ${issued} ] ; then
echo ${LMFILE}
echo ${TargetLicenseFile}
cp ${LMFILE} ${TargetLicenseFile}
${TargetFVexe}
break
fi
done
---------------------------サンプルシェルスクリプト ここまで ------------------
《解説)
LMUTIL: lmutil 実行ファイルの配置場所をパス指定
TargetLicenseFile: メインのライセンスファイルの配置場所をパス指定
*かならずバックアップをとっておいてください
TargetFVexe:起動する FieldView 実行ファイルの配置場所をパス指定
以下のような "###" で始まる行は 各ライセンスファイルの置き場所を列挙しています。スクリプトが "###" 行を自動判別しますので、単純なコメント行ではございません。
### /home/foo/work/license//licenseA.dat
### /home/foo/work/license//licenseB.dat
《手順4》 実行
以下のように 実行します。
[foo@machine]# ./sample.sh
"source ./sample.sh" の形での実行では、正常動作いたしません($0 変数を利用しているため)。
《注意点》
・ メインのライセンスファイルは必ず、バックアップをとっておいてください。
・ライセンスの状況によって空きライセンスサーバ用のライセンスファイルをメインのライセンスファイルに
コピーする仕様になっていますので、ライセンスファイルのアクセス権限次第では正常動作しません。
・冒頭にも記していますが、ご案内しているサンプルスクリプトは FLEXlm 仕様やシェルスクリプト内容が
メインとなっていますのでサポート対象外です。
また、すべての Linux/Unix 環境において動作保証しているものではございません。
加えて、開発元配布しているものでもありません。あくまでサンプルプログラムです。
プログラム類の改変は自由に行ってもかまいませんが、ご紹介している シェルスクリプトサンプルと改変後の
スクリプトによる損害は弊社では責任負いかねますので、ご留意ください。
|