ファイルサーバーのプレバックアップおよびポストバックアップ スクリプト
Phoenix Editions: Business
Enterprise
Elite
概要
Phoenix では、管理者はファイルサーバーエージェントがカスタムでバックアップ前およびバックアップ後のスクリプトを実行するよう設定することができます。プレバックアップスクリプトはバックアップジョブの前に実行され、バックアップ前に実施すべき操作を行います。ポストバックアップスクリプトはバックアップジョブの後に実行され、特定のバックアップ後操作を実行します。プレバックアップおよびポストバックアップスクリプトの設定を使用して、顧客主導の処理タスクを実行することができます。たとえば、
- Phoenixファイルサーバーエージェントを使用してフラットファイルとしてデータベースのダンプをバックアップし、Phoenixバックアップジョブの完了後にダンプファイルを削除する
- バックアップジョブの前にアンチウイルスサービスを停止し、バックアップが完了した後にサービスを再起動する
考慮事項
ファイルサーバーのバックアップポリシーでプレバックアップおよびポストバックアップのスクリプトを設定することはオプションです。プレバックアップスクリプトとポストバックアップスクリプトの設定を行う前に、次の情報を考慮する必要があります。
- プレバックアップスクリプトとポストバックアップスクリプトは、バックアップ対象としてPhoenixに設定された同一ファイルサーバー上に存在する必要があります。
- プレバックアップスクリプトとポストバックアップスクリプトは、PhoenixがサポートするWindowsおよびLinuxファイルサーバーに対してのみ構成できます。
- プレバックアップスクリプトとポストバックアップスクリプトは、実行可能ファイルである必要があります。スクリプトが次の規則に従って作成されていることを確認します。
- Linux ファイルサーバーの場合、スクリプトを pre_script.sh および post_script.sh として保存します。
- Windows ファイルサーバーの場合、スクリプトを pre_script.bat および post_script.bat として保存します。
- プレバックアップスクリプトとポストバックアップスクリプトの実行に失敗すると、最後に再試行されたジョブの終了後に、それぞれのスクリプトの失敗に対してアラートとメールが生成されます。
- プレバックアップスクリプトとポストバックアップスクリプトがタスクマネージャーやコマンドライン (kill -9 <pid>) などの外部から強制終了されると、スクリプトのコンテキストが終了した後にバックアプサイクルが実行されます。
カスタムスクリプトを設定する手順:
- WindowsまたはLinuxファイルサーバーにプレバックアップスクリプトとポストバックアップスクリプトを作成します。
カスタムスクリプトの作成方法に関する詳細は カスタムバックアップスクリプト作成のガイドライン を参照してください。 - Pheonixポータルで以下のスクリプト設定を使用してバックアップポリシーを設定します。
- WindowsまたはLinuxファイルサーバーのカスタムスクリプトの実行を有効にします。
- WindowsまたはLinuxファイルサーバー上のスクリプトを含むフォルダーの場所を指定します。
- プレバックアップスクリプトの実行が失敗した場合、またはプレバックアップスクリプトが設定された場所では使用できない場合に、バックアップ操作をスキップするオプションを指定します。
- スクリプトのタイムアウトオプションを指定します。
バックアップスクリプトの設定詳細については Pre/Post script settings を参照してください。
- ファイルサーバーエージェントは、バックアップ元サーバー上のバックアップポリシーで設定されたパスから、プレバックアップスクリプトおよびポストバックアップスクリプトを実行します。
プレバックアップスクリプトとポストバックアップスクリプトが実行されると、エージェントは一連の引数をこれらスクリプトに渡します。これら引数は、以下の順序で解釈されます。- プレバックアップスクリプトの場合: [script_name, job_id]
- ポストバックアップスクリプトの場合: [script_name, job_id, pre_script_status_integer, backup_status_integer]
ここで、- script_name はスクリプトの絶対パスを表します。
- job_id は、現在のバックアップジョブのジョブ識別番号を表します。
- pre_script_status_integer は、プレバックアップスクリプト実行のステータスを表します。プレバックアップスクリプトのステータス整数値の説明については、Pre-script status を参照してください。
- backup_status_integer はバックアップジョブ実行のステータスを表します。バックアップジョブのステータス整数値の説明については、 Backup status を参照してください。
カスタムスクリプトによるバックアップジョブの実行手順
バックアップジョブ実行中にカスタムスクリプトを実行するには、ファイルサーバーのバックアップポリシーを構成する必要があります。スクリプトは構成されたバックアップポリシーに基づいて、バックアップ実行の前後に実行されます。
次の図は、プレバックアップスクリプトとポストバックアップスクリプトが有効な場合のバックアップジョブの流れを示します。
プレバックアップスクリプトとポストバックアップスクリプトの実行動作とバックアップジョブの状態
ファイルサーバーのバックアップポリシーにプレバックアップスクリプトとポストバックアップスクリプトが構成されている場合、ユーザー操作はプレバックアップスクリプトとポストバックアップスクリプトの実行に影響します。次のセクションでは、ユーザーとの対話によるプレバックアップスクリプトとポストバックアップスクリプトの動作について説明します。
- Job Retry (ジョブの再試行): ジョブの再試行操作ごとに、プレバックアップスクリプトとポストバックアップスクリプトがバックアップジョブ前後に実行されます。最後に再試行されたジョブの終了後に、各スクリプトの失敗に関するアラートとメールが生成されます。
- Backup job cancel (バックアップジョブのキャンセル): プレバックアップスクリプトの実行中にバックアップジョブがキャンセルされると、プレバックアップスクリプトは実行され、バックアップジョブがキャンセルされ、ポストバックアップスクリプトが実行されます。ポストバックアップスクリプト実行中にバックアップジョブがキャンセルされると、ポストバックアップスクリプトは実行され、ジョブはキャンセルされます。
- Backup window expiry (バックアップウインドウの有効期限): プレバックアップスクリプト実行中にバックアップウインドウが終了すると、プレバックアップスクリプト実行は Failed (失敗) ステータスで終了し、ポストバックアップスクリプトが実行されます。
- Backup now (すぐにバックアップ): 実行中のジョブが手動開始されたバックアップ (Backup Now) である場合、プレバックアップスクリプトとポストバックアップスクリプトは想定通りに実行されます。
- Phoenixクライアントがプレバックアップスクリプトとポストバックアップスクリプトのステータスを通知しない場合、プレバックアップスクリプトとポストバックアップスクリプトのステータスは N/A になります。
次の表に、バックアップジョブ実行のステータスに対応する、プレバックアップスクリプトとポストバックアップスクリプトの状態をまとめます。
プレスクリプトのステータス | バックアップの実行 | バックアップのステータス | ポストスクリプの実行 | ポストスクリプトのステータス |
Successful (成功)
|
実行される
|
バックアップステータスは次のいずれかです。
|
実行される
|
ポストスクリプトのステータスは次のいずれかです。
|
Successful (成功)
|
実行される
|
バックアップステータスは次のいずれかです。
|
実行される
|
Skipped (スクリプトが指定された場所で使用できない場合、スキップ)
|
Failed (失敗)
|
ユーザー定義
|
バックアップが実行された場合、
バックアップが実行されない場合、
|
実行される
|
ポストスクリプトのステータスは次のいずれかです。
|
Skipped (スキップ)
|
ユーザー定義
|
バックアップが実行された場合、バックアップステータスは次のいずれかです。
バックアップが実行されない場合、バックアップステータスは、
|
実行されない |
Skipped (スキップ)
|
カスタムバックアップスクリプト作成のガイドライン
カスタムのプレバックアップスクリプトとポストバックアップスクリプトを作成するためのベストプラクティスは以下の通りです。
- 次の規則に従い、プレバックアップスクリプトとポストバックアップスクリプトを作成します。
- Linux ファイルサーバー: pre_script.sh と post_script.sh
- Windows ファイルサーバー: pre_script.bat と post_script.bat
- プレバックアップスクリプトとポストバックアップスクリプトがバックグラウンドでプロセスを起動しないようにしてください。