6.4.3 ユーザースクリプトの例

ユーザースクリプトの作成例を次に示します。

表6-1 ユーザースクリプトの作成例

スクリプト本文解説

LOCAL_BACKUP=YES …(1)

#前処理セクション

[PRE_PROC] …(2)

[CMD]

#ファイルシステムを利用するアプリケーションの停止

CMDLINE=C:¥tmp¥stop_app.bat

ENV=VAL=ApplicationName …(3)

TIMEOUT=60 …(4)

END_CODE=100 …(5)

LOCATION=LOCAL …(6)

#副ボリュームのキャッシュのクリア(マウントおよびアンマウント)

[CMD]

CMDLINE="C:¥program files¥hitachi¥drm¥bin¥drmmount.exe" -copy_group vg01,vol01

LOCATION=REMOTE …(7)

[CMD]

CMDLINE="C:¥program files¥hitachi¥drm¥bin¥drmumount.exe" -copy_group vg01,vol01

LOCATION=REMOTE

#後処理セクション

[POST_PROC] …(8)

#副ボリュームのテープバックアップ

[CMD]

CMDLINE=C:¥tmp¥tapebackup.bat

TIMEOUT=NOWAIT …(9)

END_CODE=TERMINATE_NZ …(10)

LOCATION=REMOTE

PARENT_STAT=NORMAL …(11)

[CMD]

#バックアップエラー時のアプリケーションのリカバリ処理

CMDLINE=C:¥tmp¥recovery.bat

TIMEOUT=60

END_CODE=IGNORE …(12)

LOCATION=LOCAL

PARENT_STAT=ERROR …(13)

[CMD]

#ファイルシステムを利用するアプリケーションの再開

CMDLINE=C:¥tmp¥restart_app.bat

ENV=VAL=ApplicationName

TIMEOUT=60

END_CODE=100

LOCATION=LOCAL

(1)必ずYESを指定します。
(2)ユーザー前処理セクションの開始
(3)コマンドに環境変数「VAL= ApplicationName」を渡します。
(4)60秒でタイムアウトします。
(5)コマンドの戻り値が100以上をエラーとして扱います。
(6)ローカルサーバで実行します。
(7)リモートサーバで実行します。
(8)ユーザー後処理セクションの開始
(9)コマンドの終了を待たないで次のコマンドを実行します。
(10)コマンドの戻り値が0以外をエラーとして扱います。
(11)バックアップコマンドが正常の場合だけ実行します。
(12)コマンドのエラーを無視します。
(13)バックアップコマンドがエラーの場合だけ実行します。

副ボリュームをテープにバックアップするtapebackup.batの例を次に示します。

rem NTBACKUPでジョブ「Job1」を実行してテープ「Tape1」にG:¥をコピーバックアップ

rem 環境変数DRMENV_COMMENTとして渡されるバックアップコメントをバックアップジョブの説明に設定

"C:¥Windows¥system32¥ntbackup.exe" backup G:¥ /j "Job1" /a /t "Tape1" /D "%DRMENV_COMMENT%" /m copy

IF NOT "%errorlevel%"=="0" GOTO ERROR

rem テープバックアップ後,バックアップサーバにインポートされたバックアップIDを指定して副ボリュームをアンマウント

"C:¥Program Files¥Hitachi¥DRM¥bin¥drmumount.exe" %DRMENV_R_BACKUPID%

IF NOT "%errorlevel%"=="0" GOTO ERROR

exit 0

:ERROR

exit 1

注 remで始まる行はコメントです。