6.17.2 ユーザースクリプトの例
この例では,次の2つのユーザースクリプトを使います。
- この項の構成
- (1) script1.txt(データマイニング用)
- (2) script2.txt(バックアップ用)
(1) script1.txt(データマイニング用)
LOCAL_BACKUP=YES
#Pre-backup user script section
[PRE_PROC]
#The Protection Manager service will be started.
[CMD]
CMDLINE=C:¥user¥detach_databases.bat
END_CODE=TERMINATE_NZ
TIMEOUT=600
LOCATION=REMOTE
PARENT_STAT=NORMAL
#Post-backup user script section
[POST_PROC]
#Normal case
[CMD]
CMDLINE=C:¥user¥remote_sqlrestore.bat
END_CODE=1
TIMEOUT=600
LOCATION=REMOTE
PARENT_STAT=NORMAL |
[PRE_PROC]:バッチファイルdetach_databases.batを実行する。detach_databases.batの内容は,副ボリューム上にある(前回の操作で作成された)データベースのデタッチ,および副ボリュームのアンマウントである。
- detach_databases.bat
@echo off
@osql -E -S DBServer2¥instB -i “C:¥user¥detach_userdbs.sql”
if NOT “%ERRORLEVEL%”==”0” GOTO ABEND
@drmumount -copy_group VG01,VOL11
if NOT “%ERRORLEVEL%”==”0” GOTO ABEND
@drmumount -copy_group VG01,VOL12
if NOT “%ERRORLEVEL%”==”0” GOTO ABEND
GOTO END
:ABEND
exit 1
:END
exit 0 |
[POST_PROC]:バッチファイルremote_sqlrestore.batを実行する。remote_sqlrestore.batの内容は,副ボリュームのマウント,および-no_resync指定のリストアコマンド,リカバリコマンドの実行である。
- remote_sqlrestore.bat
@echo off
@drmmount -copy_group VG01,VOL11 -mount_pt F:
if NOT “%ERRORLEVEL%”==”0” GOTO ABEND
@drmmount -copy_group VG01,VOL12 -mount_pt G:
if NOT “%ERRORLEVEL%”==”0” GOTO ABEND
@drmsqlrestore %DRMENV_R_BACKUPID% -no_resync -nochk_host -instance instB
if NOT “%ERRORLEVEL%”==”0” GOTO ABEND
@drmsqlrecover instB
if NOT “%ERRORLEVEL%”==”0” GOTO ABEND
GOTO END
:ABEND
exit 1
:END
exit 0 |
(2) script2.txt(バックアップ用)
LOCAL_BACKUP=YES
#Post-backup user script section
[POST_PROC]
#Normal case
[CMD]
CMDLINE=C:¥user¥remote_tapebackup.bat
END_CODE=1
TIMEOUT=NOWAIT
LOCATION=REMOTE
PARENT_STAT=NORMAL |
[PRE_PROC]:なし
[POST_PROC]:バッチファイルremote_tapebackup.batを実行する。remote_tapebackup.batの内容は,NetBackupのコマンドを使用した,副ボリューム上にあるデータベースのテープへのバックアップ,および副ボリュームのアンマウントである。
- remote_tapebackup.bat
@echo off
@bpbackup -k “%DRMENV_COMMENT%” -p ptm_plc -s ptm_schd -i -S BackupServer -w -t 0 -L C:¥temp¥nbu.log
if NOT “%ERRORLEVEL%”==”0” GOTO ABEND
@drmumount %DRMENV_R_BACKUPID%
if NOT “%ERRORLEVEL%”==”0” GOTO ABEND
GOTO END
:ABEND
exit 1
:END
exit 0 |