NetBackup資料一覧

通知スクリプトの種類とログとの関係

2007/8/18更新

対応バージョン: BusinesServer 3.4

/usr/openv/netbackup/bin配下に以下のスクリプトが用意されている。

括弧内は各スクリプトがログを出力するファイルである。

サーバで実行されるスクリプト

backup_notify (BACKUP_CALLED)
backup_exit_notify (BACKUP_EXIT_CALLED)
dbbackup_notify (DBBACKUP_CALLED)
diskfull_notify (DISKFULL_CALLED)
restore_notify (RESTORE_CALLED)
session_notify (SESSION_CALLED)
session_start_notify (SESSION_START_CALLED)
userreq_notify (BPRD_CALLED)

クライアントで実行されるスクリプト

(*) あらかじめサーバの/usr/openv/netbackup/bin/goodiesからクライアントの/usr/openv/netbackup/bin配下にコピーしておく必要がある。

bpstart_notify (BPSTART_CALLED)
bpend_notify (BPEND_CALLED)

それぞれ、起動されるタイミングや起動時の引数が異なるので以下に個別に説明する。

backup_notify

実行マシン

ストレージユニットのあるNetBackupサーバ

実行タイミング

バックアップが正常にメディアに書き込まれるたび

起動時引数

$1 : バックアップを実行しているプログラム名

$2 : バックアップイメージ名、またはパス

起動例
backup_notify bptm bilbo_0695316589

backup_exit_notify

実行マシン

NetBackupマスタサーバ

実行タイミング

クライアント、MediaManager、およびイメージカタログで各バックアップが完了するたび

起動時引数

$1 : clientname ... NetBackupカタログのクライアント名

$2 : classname .... NetBackupカタログのクラス名

$3 : schedname .... NetBackupカタログのスケジュール名

$4 : schedtype .... 以下のスケジュールタイプのいずれか1つ

   "FULL"

   "INCR" (差分インクリメンタル)

   "CINC" (累積インクリメンタル)

   "UBAK"

   "UARC"

$5 : exitstatus ... バックアップジョブ全体を終了するためのコード

起動例
backup_exit_notify freddie production fulls FULL 0
backup_exit_notify danr production incrementals INCR 73

bpstart_notify

実行マシン

UNIXクライアント

実行タイミング

バックアップまたはアーカイブが開始され初期化が完了するたび(ただしテープのポジショニング前)

このスクリプトの終了時には呼び出された継続プログラムと実行するバックアップまたはアーカイブのステータスが0である必要がある。

ステータスが0でないときに終了すると、クライアントバックアップやアーカイブのステータスが「bpstart_notifyに失敗しました」終了する場合がある。

bpstart_notifyスクリプトが存在する場合、このスクリプトはフォアグラウンドで実行され、この処理が完了するまでクライアントのbpbkarプロセスは待機状態になる。

サーバではBPSTART_TIMEOUTオプションによって指定された期間内にクライアントがcontinueメッセージで応答することを想定している。

BPSTART_TIMEOUTのデフォルト値は300(秒)なのでスクリプトの実行に必要な時間が300秒を越える場合はこの値を増やすこと。

起動時引数

$1 : clientname ... NetBackupカタログのクライアント名

$2 : classname .... NetBackupカタログのクラス名

$3 : schedname .... NetBackupカタログのスケジュール名

$4 : schedtype .... 以下のスケジュールタイプのいずれか1つ

   "FULL"

   "INCR" (差分インクリメンタル)

   "CINC" (累積インクリメンタル)

   "UBAK"

   "UARC"

起動例
bpstart_notify freddie cd4000s fulls FULL
bpstart_notify danr cd4000s incrementals INCR
bpstart_notify hare cd4000s fulls FULL
bpstart_notify freddie cd4000s user_backups UBAK
bpstart_notify danr cd4000s user_archive UARC
備考

特定のクラス、または特定のクラスとスケジュールの組合せに対してbpstart_notifyスクリプトを作成するには.classnameまたは.classname.schedulenameというサフィックスを付けたスクリプトファイルを作成する。

例えばスケジュールfullsを持つクラスproductionに対するスクリプト名は以下のようになる。

/usr/openv/netbackup/bin/bpstart_notify.production
/usr/openv/netbackup/bin/bpstart_notify.production.fulls

1番目のスクリプトはクラスproduction内のスケジュール設定されたすべてのバックアップに適用される。

2番目のスクリプトはクラスproduction内のスケジュールfullsによって設定されたバックアップのみに適用される。

(*) 指定されたバックアップに対してNetBackupでは最も詳細に名前が指定されているスクリプトを1つだけ使用する。例えばbpstart_notify.productionとbpstart_notify.production.fullsの両方のスクリプトが存在する場合はbpstart_notify.production.fullsのみが使用される。

UNIXクライアントではbpstart_notify内で以下の環境変数を使用することができる。

・BACKUPID

・UNIXBACKUPTIME

・BACKUPTIME

これらの変数はNetBackup bpbkarプロセスによって作成される。

バックアップに関する情報を記録するためにスクリプトで使用可能な構文の例を以下に示す。

BACKUPID=freddie_0857340526
UNIXBACKUPTIME=0857340526
BACKUPTIME=Sun Mar 2 16:08:46 1997

bpend_notify

bpend_notifyスクリプトはクライアントのデータ送信が完了してサーバによるメディアへの書き込みが完了していない場合でも実行されるので注意が必要である。

実行マシン

UNIXクライアント

実行タイミング

バックアップまたはアーカイブを完了するたび

アーカイブの場合はバックアップ終了後のファイル削除の前に実行される。

bpend_notifyスクリプトが存在する場合、このスクリプトはフォアグラウンドで実行され、この処理が完了するまでクライアントのbpbkarプロセスは待機状態になる。

サーバはBPEND_TIMEOUTオプションによって指定された期間内にクライアントが応答することを想定している。

BPEND_TIMEOUTのデフォルト値は300(秒)なのでスクリプトの実行に必要な時間が300秒を越える場合はこの値を増やすこと。

ただ、この値が高すぎるとサーバのほかのクライアントへのサービスに遅延が生じるため注意が必要である。

起動時引数

$1 : clientname ... NetBackupカタログのクライアント名

$2 : classname .... NetBackupカタログのクラス名

$3 : schedname .... NetBackupカタログのスケジュール名

$4 : schedtype .... 以下のスケジュールタイプのいずれか1つ

   "FULL"

   "INCR" (差分インクリメンタル)

   "CINC" (累積インクリメンタル)

   "UBAK"

   "UARC"

$5 : exitstatus ... bpbkarからの終了コード

これは単なるクライアントステータスで、バックアップの完了や成功を示すコードではない(backup_exit_notifyスクリプト参照)。例えば、サーバの障害が原因で [すべてのログエントリ]レポートでステータス84が報告されている場合でもクライアントではステータス0を示す。

起動例
bpend_notify freddie cd4000s fulls FULL 0
bpend_notify danr cd4000s incrementals INCR 73
備考

特定のクラス、または特定のクラスとスケジュールの組合せに対してbpend_notifyスクリプトを作成するには.classnameまたは.classname.schedulenameというサフィックスを付けたスクリプトファイルを作成する。

例えばスケジュールfullsを持つクラスproductionに対するスクリプト名は以下のようになる。

/usr/openv/netbackup/bin/bpend_notify.production
/usr/openv/netbackup/bin/bpend_notify.production.fulls

1番目のスクリプトはクラスproduction内のスケジュール設定されたすべてのバックアップに適用される。

2番目のスクリプトはクラスproduction内のスケジュールfullsによって設定されたバックアップのみに適用される。

(*) 指定されたバックアップに対してNetBackupでは最も詳細に名前が指定されているスクリプトを1つだけ使用する。例えばbpend_notify.productionとbpend_notify.production.fullsの両方のスクリプトが存在する場合はbpend_notify.production.fullsのみが使用される。

UNIXクライアントではbpend_notify内で以下の環境変数を使用することができる。

・BACKUPID

・UNIXBACKUPTIME

・BACKUPTIME

これらの変数はNetBackup bpbkarプロセスによって作成される。

バックアップに関する情報を記録するためにスクリプトで使用可能な構文の例を以下に示す。

BACKUPID=freddie_0857340526
UNIXBACKUPTIME=0857340526
BACKUPTIME=Sun Mar 2 16:08:46 1997

dbbackup_notify

実行マシン

マスタサーバ

実行タイミング

NetBackupがカタログバックアップを試行するたび

起動時引数

$1 : device ........ バックアップを書き込むデバイスのタイプ

$2 : vsn_or_path ... バックアップに使用するボリュームのシリアル番号(テープの場合)、またはパス(ディスクの場合)

$3 : status ........ バックアップが成功したかどうかを示す値で、"SUCCESS"または"FAIL"

起動例
dbbackup_notify DISK /disk1/bpsync1 SUCCESS
dbbackup_notify OPTICAL AA0001 FAIL
dbbackup_notify TAPE XYZ047 SUCCESS

diskfull_notify

実行マシン

ストレージユニットのあるNetBackupサーバ

実行タイミング

ディスクメディアマネージャ(bpdm)で、ディスクタイプのストレージユニットへのバックアップの書き込み中にディスクがいっぱいになるとこのスクリプトが呼び出される。

デフォルトでは5秒間スリープした後に書き込みを再試行する(書き込み中のファイルはアクティブなbpdmによって開かれた状態のまま)。

スクリプトを変更して、他のユーザに通知したり変更による影響のあるディレクトリやファイルシステムからほかのファイルを削除するなどのアクションを実行することができる。

起動時引数

$1 : programname ... プログラム名(常にbpdm)

$2 : pathname ...... 書き込み中のファイルへのパス

起動例
diskfull_notify bpdm /disk1/images/host_08193531_c1_F1

restore_notify

実行マシン

ストレージユニットのあるNetBackupサーバ

実行タイミング

NetBackupのテープマネージャ(bptm)またはディスクマネージャ(bpdm)はリストア中にクライアントへのデータ送信が終了すると(データが正常に送信されたかどうかにかかわらず)このスクリプトを呼び出す。

起動時引数

$1 : programname ... リストアまたは他の読み取りオペレーションを実行しているプログラム名

$2 : pathname ...... バックアップへのパス

$3 : operation ..... 以下のオペレーションのいずれか1つ

   "restore"

   "verify"

   "duplication"

   "import"

起動例
restore_notify bptm bilbo_0695316589 duplication

session_notify

実行マシン

マスタサーバ

実行タイミング

バックアップセクション終了時に、スケジュール設定されたバックアップが1つ以上正常に実行された場合にこのスクリプトが呼び出される。

このスクリプトが完了するまでスケジューラはサスペンドされるため、その他のバックアップを開始することはできない。

起動時引数

なし

session_start_notify

実行マシン

マスタサーバ

実行タイミング

一連のバックアップを実行する場合に、NetBackupはこのスクリプトを呼び出して1番目のバックアップを開始する前に必要な処理を実行する。

起動時引数

なし

userreq_notify

実行マシン

マスタサーバ

実行タイミング

以下のリクエストが行われるたび

・バックアップやアーカイブ内のファイルの一覧表示

・バックアップ、アーカイブ、またはリストの開始

起動時引数

$1 : action ....... 以下のアクションのいずれか1つ

   "backup"

   "archive"

   "manual_backup"

   "restore"

   "list"

$2 : clientname ... クライアント名

$3 : userid ....... ユーザID

起動例
userreq_notif backup mercury jdoe
userreq_notify archive mercury jdoe
userreq_notify manual_backup mercury jdoe
userreq_notify restore mercury jdoe
userreq_notify list mercury jdoe