Cosminexus システム構築ガイド
Managementアクションとして実行するコマンドは,コマンドファイル(バッチファイルまたはシェルスクリプトファイル)に記述できます。必要に応じて,コマンドファイルを作成してください。
ここでは,コマンドファイルで使用できる環境変数と,コマンドファイルのサンプルについて説明します。
コマンドファイルでは,次の表に示す環境変数を使用できます。
表6-7 Managementアクション実行コマンドのコマンドファイルで使用できる環境変数
| 環境変数 | 説明 |
|---|---|
| COSMI_MNG_MACT_LSNAME | Managementイベントを発行した論理サーバ名。 |
| COSMI_MNG_MACT_HOST | Managementイベントを発行した論理サーバのホスト名。 |
| COSMI_MNG_MACT_MSG_ID | Managementイベントで通知されたメッセージID。 |
| COSMI_MNG_MACT_MSG_TEXT | Managementイベントで通知されたメッセージテキスト。 |
| COSMI_MNG_MACT_CTM | Managementイベントを発行した論理サーバに設定された論理CTM名。 |
| COSMI_MNG_MACT_WEBSYSTEM | Managementイベントを発行した論理サーバが所属するWebシステム名。 |
| COSMI_MNG_MACT_UNIT | Managementイベントを発行した論理サーバが所属するサービスユニット名。 |
| COSMI_MNG_MACT_TIER | Managementイベントを発行した論理サーバが所属する物理ティア種別。 |
| COSMI_MNG_MACT_OPT<N> | Managementイベントで通知されたオプション文字列。オプション文字列としてメッセージの埋め字が使用されます。Nは,0以上の整数であり,オプション文字列の1番目を表す環境変数は「COSMI_MNG_MACT_OPT0」となります。 設定される文字列の詳細については,Managementイベント発行の対象となるメッセージのメッセージテキスト中の可変値に表示される情報を参照してください。 |
| COSMI_MNG_MACT_MNGSVR_PORT | Management ServerのHTTPポート番号。 |
| COSMI_MNG_MACT_RNAME | Managementイベントを発行した論理サーバの実サーバ名。 |
| COSMI_MNG_MACT_NS_HOSTPORT | Managementイベントを発行した論理サーバが使用するネーミングサービスのホスト名とポート番号。例えば,ホスト名が「HostA」でポート番号が「900」の場合には,「HostA:900」となります。 |
コマンドファイルのサンプルが提供されていますので,サンプルを参考にしてコマンドファイルを作成してください。サンプルの格納場所を次に示します。
なお,サンプルを使用する場合は,mngsvrutilコマンドの引数(-m,-u,-pオプションなど)やログファイルの格納先を環境に合わせて適宜変更してください。
Managementイベント発行サーバを再起動するサンプルを次に示します。
(省略) : rem Management action sample for restart server. setlocal set LSNAME=%COSMI_MNG_MACT_LSNAME% set MSGID=%COSMI_MNG_MACT_MSG_ID% set CJCLDELLOG=%COSMINEXUS_HOME%\CC\client\bin\cjcldellog.bat set LOG_ROOT_DIR=%SystemDrive%\<MyLogDir> if not exist "%LOG_ROOT_DIR%" mkdir "%LOG_ROOT_DIR%" call "%CJCLDELLOG%" -t 30d -f "%LOG_ROOT_DIR%" set LOG_DIR=%LOG_ROOT_DIR%\%date:/=% if not exist "%LOG_DIR%" mkdir "%LOG_DIR%" set LOG=%LOG_DIR%\%time::=%_%LSNAME%_%MSGID%.txt echo %0 > "%LOG%" set MNGSVR=localhost:%COSMI_MNG_MACT_MNGSVR_PORT% set UID=<User-id> set PWD=<Password> echo mngsvrutil.exe -m %MNGSVR% -u %UID% -p %PWD% -t %LSNAME% -s stop server >> "%LOG%" 2>&1 mngsvrutil.exe -m %MNGSVR% -u %UID% -p %PWD% -t %LSNAME% -s stop server >> "%LOG%" 2>&1 set RET=%ERRORLEVEL% echo %RET% >> "%LOG%" if not %RET% == 0 goto END echo mngsvrutil.exe -m %MNGSVR% -u %UID% -p %PWD% -t %LSNAME% -s start server >> "%LOG%" 2>&1 mngsvrutil.exe -m %MNGSVR% -u %UID% -p %PWD% -t %LSNAME% -s start server >> "%LOG%" 2>&1 set RET=%ERRORLEVEL% echo %RET% >> "%LOG%" :END exit %RET% |
(省略)
:
# Management action sample for restart server.
LSNAME=${COSMI_MNG_MACT_LSNAME}
MSGID=${COSMI_MNG_MACT_MSG_ID}
LOG_ROOT_DIR=/tmp/<MyLogDir>
if [ ! -d ${LOG_ROOT_DIR} ]; then
/bin/mkdir ${LOG_ROOT_DIR}
fi
/usr/bin/find ${LOG_ROOT_DIR} -depth -mtime +30 -mindepth 1 -exec /bin/rm -fr {} \;
LOG_DIR=${LOG_ROOT_DIR}/`/bin/date +%y%m%d`
if [ ! -d ${LOG_DIR} ]; then
/bin/mkdir ${LOG_DIR}
fi
LOG=${LOG_DIR}/`/bin/date +%H%M%S`_${LSNAME}_${MSGID}.txt
echo $0 > "${LOG}"
MNGSVR=localhost:${COSMI_MNG_MACT_MNGSVR_PORT}
USERID=<User-id>
PASSWD=<Password>
echo ./mngsvrutil -m ${MNGSVR} -u ${USERID} -p ${PASSWD} -t ${LSNAME} -s stop server >> "${LOG}" 2>&1
./mngsvrutil -m ${MNGSVR} -u ${USERID} -p ${PASSWD} -t ${LSNAME} -s stop server >> "${LOG}" 2>&1
RET=$?
echo ${RET} >> "${LOG}"
if [ $RET -eq 0 ]; then
echo ./mngsvrutil -m ${MNGSVR} -u ${USERID} -p ${PASSWD} -t ${LSNAME} -s start server >> "${LOG}" 2>&1
./mngsvrutil -m ${MNGSVR} -u ${USERID} -p ${PASSWD} -t ${LSNAME} -s start server >> "${LOG}" 2>&1
RET=$?
echo ${RET} >> "${LOG}"
fi
exit ${RET}
|
Managementイベント発行サーバの所属サービスユニットを閉塞するサンプルが提供されていますので,サンプルを参考にして作成してください。サンプルのファイル名と動作を次に示します。
Managementイベント発行サーバの所属サービスユニットを閉塞するサンプルを次に示します。
(省略) : rem Management action sample for close unit. setlocal set LSNAME=%COSMI_MNG_MACT_LSNAME% set MSGID=%COSMI_MNG_MACT_MSG_ID% set WEBSYSTEM=%COSMI_MNG_MACT_WEBSYSTEM% set UNIT=%COSMI_MNG_MACT_UNIT% set CJCLDELLOG=%COSMINEXUS_HOME%\CC\client\bin\cjcldellog.bat set LOG_ROOT_DIR=%SystemDrive%\<MyLogDir> if not exist "%LOG_ROOT_DIR%" mkdir "%LOG_ROOT_DIR%" call "%CJCLDELLOG%" -t 30d -f "%LOG_ROOT_DIR%" set LOG_DIR=%LOG_ROOT_DIR%\%date:/=% if not exist "%LOG_DIR%" mkdir "%LOG_DIR%" set LOG=%LOG_DIR%\%time::=%_%LSNAME%_%MSGID%.txt echo %0 > "%LOG%" if "%WEBSYSTEM%" == "" goto :ERR if "%UNIT%" == "" goto :ERR set MNGSVR=localhost:%COSMI_MNG_MACT_MNGSVR_PORT% set UID=<User-id> set PWD=<Password> echo cmx_stop_target.exe -m %MNGSVR% -u %UID% -p %PWD% -mode ALL -s %WEBSYSTEM% -unit %UNIT% >> "%LOG%" 2>&1 cmx_stop_target.exe -m %MNGSVR% -u %UID% -p %PWD% -mode ALL -s %WEBSYSTEM% -unit %UNIT% >> "%LOG%" 2>&1 set RET=%ERRORLEVEL% echo %RET% >> "%LOG%" goto :END :ERR set RET=2 :END exit %RET% |
(省略)
:
# Management action sample for close unit.
LSNAME=${COSMI_MNG_MACT_LSNAME}
MSGID=${COSMI_MNG_MACT_MSG_ID}
WEBSYSTEM=${COSMI_MNG_MACT_WEBSYSTEM}
UNIT=${COSMI_MNG_MACT_UNIT}
LOG_ROOT_DIR=/tmp/<MyLogDir>
if [ ! -d ${LOG_ROOT_DIR} ]; then
/bin/mkdir ${LOG_ROOT_DIR}
fi
/usr/bin/find ${LOG_ROOT_DIR} -depth -mtime +30 -mindepth 1 -exec /bin/rm -fr {} \;
LOG_DIR=${LOG_ROOT_DIR}/`/bin/date +%y%m%d`
if [ ! -d ${LOG_DIR} ]; then
/bin/mkdir ${LOG_DIR}
fi
LOG=${LOG_DIR}/`/bin/date +%H%M%S`_${LSNAME}_${MSGID}.txt
echo $0 > "${LOG}"
if [ "${WEBSYSTEM}" = "" -o "${UNIT}" = "" ]; then
exit 2
fi
MNGSVR=localhost:${COSMI_MNG_MACT_MNGSVR_PORT}
USERID=<User-id>
PASSWD=<Password>
echo ./cmx_stop_target -m ${MNGSVR} -u ${USERID} -p ${PASSWD} -mode ALL -s ${WEBSYSTEM} -unit ${UNIT} >> "${LOG}" 2>&1
./cmx_stop_target -m ${MNGSVR} -u ${USERID} -p ${PASSWD} -mode ALL -s ${WEBSYSTEM} -unit ${UNIT} >> "${LOG}" 2>&1
RET=$?
echo ${RET} >> "${LOG}"
exit ${RET}
|
Managementアクション実行コマンドの動作を次に示します。
All Rights Reserved. Copyright (C) 2006, 2007, Hitachi, Ltd.