シナリオの作成




■ シナリオ必須コマンド

コンテンツデリバリ機能を実現するために、以下の必須コマンドを提供します。
■ シナリオ作成例

■ lbsyncコマンド

lbsyncコマンドは、ftpプロトコルを利用し、LBからコンテンツを取得するコマンドです。


書式

lbsync [グループ名] [イベント名] [コンテンツ配信先] [-d]


パラメータの説明

戻り値

以下の表を参照してください。

3 lbsyncコマンド正常終了
4 アカウント/パスワード不正
5 コンテンツ配信先パス不正
6 接続タイムアウトエラー
7 通信エラー
10 その他エラー


注意事項1

lbsyncコマンドが利用するFTPアカウントは、「FTPアカウント設定」で作成したアカウント情報です。詳細はこちらを参照してください。

注意事項2

lbsyncコマンドはシナリオ内での必須コマンドです。記述漏れのあった場合、コンテンツ配信されません。


このページの先頭に戻る

■ lbpostコマンド

シナリオの実行中、LBにシナリオの実行状況を報告し、ログの出力を行います。

書式

lbpost [実行状況ステータス] [グループ名] [イベント名]

パラメータの説明

0 シナリオ開始
1 シナリオ正常終了
2 lbsyncコマンド実行開始
3 lbsyncコマンド正常終了
4 アカウント/パスワード不正
5 コンテンツ配信先パス不正
6 接続タイムアウトエラー
7 通信エラー
10 その他のエラー

戻り値

なし 。

注意事項

lbpostコマンドの第1引数の内、[0,1]はシナリオの開始終了を表す必須コマンドです。[2,3]はシナリオ実行状況をログに出力するため任意に指定します。通常、4〜10は直接指定せず、lbsyncコマンドの返却値を用いて指定します。lbsyncコマンドの返却値を用いる場合、シナリオ内に以下を記述します。

lbsyncコマンド実行後に上記コマンドを記述することで、lbsyncの返却値から詳細な障害情報をLBに通知できます。


このページの先頭に戻る

■ UNIX系シナリオ作成例

以下のシナリオは、UNIX系シナリオ作成例です。
シナリオ中に含まれるコマンドの詳細については、lbsyncコマンドlbpostコマンドを参照してください。


###### Scenario Start #####  
lbpost 0 GroupA Event001 … ルートシナリオを開始することをLBに通知します。
   
##### Contents Get #####  
lbpost 2 GroupA Event001 … lbsyncコマンドを実行することをLBに通知します。
lbsync GroupA Event001 /home/httpd/html/Event001 … lbsyncコマンドを実行します。
   
Status=$?;  
if [ $Status != 3 ] ; then … lbsyncコマンドの実行結果を判定し、それぞれの終了処理に分岐します。
   
##### Report lbsync output #####  
lbpost $Status GroupA Event001 … lbsyncコマンドが異常終了したことをLBに通知します。
   
##### If Error #####  
cd /home/httpd/html/Event001 … lbsyncコマンドが異常終了したときの処理です。ここでは、
  配信先ディレクトリにファイル名 update.txt のログを出力します。
echo 'last update' > ./update.txt
date >> ./update.txt
echo 'fail' >> ./update.txt
 
##### Success #####  
else  
   
##### Report lbsync output #####  
lbpost 3 GroupA Event001 … lbsyncコマンドが正常終了したことをLBに通知します。
   
cd /home/httpd/html/Event001 … lbsyncコマンドが正常終了したときの処理です。ここでは、
  アップデートコンテンツ(*.html)をWWW公開しているディレクトリ
  (/home/httpd/html/)にコピーし、配信先ディレクトリに
  ファイル名 update.txt のログを出力します。
cp ./*.html ../
echo 'last update' > ./update.txt
date >> ./update.txt
echo 'success' >> ./update.txt
 
fi  
 
###### Scenario End #####  
lbpost 1 GroupA Event001 … ルートシナリオが正常終了したことをLBに通知します。
   


注意事項

上記シナリオ作成例内の赤字のlbpostコマンド行は、シナリオの必須入力となります。シナリオ作成時には記述している行から削除しないでください。


このページの先頭に戻る

■ Windows系シナリオ作成例

以下のシナリオは、Windows系シナリオ作成例です。
尚、シナリオ中に含まれるコマンドの詳細については、 lbsyncコマンドlbpostコマンドを参照してください。

rem ###### 開始 #####  
lbpost 0 GroupA Event001 … ルートシナリオを開始することをLBに通知します。
   
rem ##### lbsync実行 #####  
lbpost 2 GroupA Event001 … lbsyncコマンドを実行することをLBに通知します。
C:  
cd C:\wwwroot\Contents\Event001  
lbsync GroupA Event001 C:\wwwroot\Contents\Event001 … lbsyncコマンドを実行します。実行前に配信先ディレクトリに移動しておきます。
rem ##### lbsync結果報告 #####  
set exitstatus=%errorlevel%  
lbpost %exitstatus% GroupA Event001 … lbsyncコマンドの実行結果をLBに通知します。
   
if %exitstatus%==3 goto normal … lbsyncコマンドの実行結果を判定し、それぞれの終了処理に分岐します。
rem ##### 異常時の終了処理 #####  
C: … lbsyncコマンドが異常終了したときの処理です。ここでは、
  配信先ディレクトリにファイル名 update.txt のログを出力します。
cd C:\wwwroot\Contents\Event001
echo last update > update.txt
date /T >> update.txt
time /T >> update.txt
echo fail >> update.txt
goto end  
   
:normal  
rem ##### 正常時の終了処理 #####  
C: … lbsyncコマンドが正常終了したときの処理です。ここでは、
  アップデートコンテンツ(*.html)をWWW公開しているディレクトリ
  (C:\wwwroot\Contents\)にコピーし、配信先ディレクトリに
  ファイル名 update.txt のログを出力します。
cd C:\wwwroot\Contents\Event001
copy *.html C:\wwwroot\Contents\
echo last update > update.txt
date /T >> update.txt
time /T >> update.txt
echo success >> update.txt
   
:end  
lbpost 1 GroupA Event001 … ルートシナリオが正常終了したことをLBに通知します。

注意事項

上記シナリオ作成例内の赤字のlbpostコマンド行は、シナリオの必須入力となります。シナリオ作成時には記述している行から削除しないでください。


このページの先頭に戻る

Copyright(C) 2000 - 2008 NEC Corporation