アプライアンス管理コンソールのカスタム スクリプト

事前スクラブを実行する LiveClone Backup and DR ワークフローを定義する場合は、Optim プライバシー データ マスキングまたはカスタム スクリプトを選択できます。

カスタム スクリプトの場合は、事前処理スクリプトまたは事後処理スクリプトを 1 つ以上指定します。

  • 必要に応じて、事前スクリプトを指定します。事前スクリプトは、アプリケーションのマウントやマウント解除の前に環境を構成するために使用されます。このスクリプトは、マウントされたバックアップをホストするサーバーの /act/scripts という名前のフォルダに配置する必要があります。
  • 対応する [Timeout in Seconds] に、スクリプトの完了に必要な時間 を指定します。
  • 必要に応じて、事後スクリプトを指定します。事後スクリプトは、マウントやマウント解除の後にデータを操作するために使用されます。このスクリプトは、マウントされたバックアップをホストするサーバーの /act/scripts という名前のフォルダに配置する必要があります。
  • 対応する [Timeout in Seconds] に、スクリプトの完了に必要な時間 を指定します。

Backup and DR ワークフローの事前スクリプトと事後スクリプト

Backup and DR ワークフローは、スケジュールに従って、またはオンデマンドでバックアップをマウントおよびマウント解除します。Backup and DR ワークフローでは、次のものを呼び出すことができます。

  • バックアップのマウントまたはマウント解除の前に実行される事前スクリプト
  • バックアップのマウントまたはマウント解除の後に実行される事後スクリプト

データのマウントまたはマウント解除の前後にスクリプトを実行することで、次のことができます。

  • センシティブな情報をスクラブする
  • レポートを生成する
  • 特に抽出、変換、読み込み(ETL)オペレーションのためにデータをウェアハウスに格納する

スクリプトは、マウントされた Backup and DR ワークフロー バックアップをホストするサーバーの /act/scripts という名前のフォルダに配置する必要があります。

環境変数

環境変数を使用すると、特定のジョブ、ジョブタイプ、アプリケーションに適用されるコマンドを呼び出すことができます。環境変数には ACT_ という接頭辞が付きます。たとえば、データベースの環境変数は次のようになります。

    [$ACT_APPNAME =="productiondb"]

マウント オペレーションの環境変数は次のようになります。

    [$ACT_JOBTYPE == "mount"]

一般的な環境変数とサンプル値のリストは次のとおりです。

  • JOBNAME: ジョブの名前(例: Job_0123456)。
  • APPID: アプリケーションの ID(例: 4186)。
  • APPNAME: アプリケーションの名前(例: My-DB)。
  • HOSTNAME: このジョブのターゲットであるホストの名前(例: Jupiter)。
  • SOURCEHOST: このアプリケーションのソースであったホストの名前(例: Saturn)。
  • JOBTYPE: ジョブクラスのテキスト バージョン(例: mount または unmount)。
  • PHASE: ジョブフェーズを説明するテキスト文字列(例: pre または post)。
  • TIMEOUT: スクリプトの実行時間、スクリプト の実行を許可する時間を定義します。
  • OPTIONS: このジョブに適用されるポリシー オプション。

サンプル スクリプト

以下のスクリプト例では次の 3 つの環境変数が使用されています

  • ACT_JOBTYPE: ジョブがマウント オペレーションかマウント解除オペレーションかを識別します。
  • ACT_PHASE: フェーズが事前フェーズか事後フェーズかを識別します。
  • ACT_MULTI_END: データベースと ログの両方をマウントする場合にのみ使用されます。これが true の場合、データベースはアクセス可能な状態になります。

    ```sh
    #!/bin/sh
    set +x
    echo "*** Running user script: Job - $ACT_JOBNAME Type - $ACT_JOBTYPE Phase - $ACT_PHASE***"
    
    #Use the first if clause to perform application specific operations during mount and in this example scrub-mount operation.
    
    #Use the second if clause to perform any application specific operation during unmount and in this example, #scrub-unmount operation.
    
    #if [[ $ACT_JOBTYPE == "mount" ]] || [[ $ACT_JOBTYPE == "scrub-mount" ]]; then
    if [[ $ACT_JOBTYPE == "unmount" ]] || [[ $ACT_JOBTYPE == "scrub-unmount" ]]; then
        echo "NO-OP for job type $ACT_JOBTYPE"
        exit 0
    fi
    
    #Use the first if clause to perform application specific operations during the pre phase.
    
    #Use the second if clause to perform application specific operations during the post phase.
    
    #if [[ $ACT_PHASE == "post" ]]; then
    if [[ $ACT_PHASE == "pre" ]]; then
        echo "NO-OP for phase $ACT_PHASE"
        exit 0
    fi
    
    #For multi-phase jobs (database and logs) check if the database has been mounted and the logs applied then #skip logs.
    
    #If the operation needs to be performed in phases other than the last phase, modify the clause.
    
    if [[ -z "$ACT_MULTI_END" ]] && [[ $ACT_MULTI_END != "true" ]]; then
        echo "NO-OP for multi-phase operation"
        exit 0
    fi
    
    cd /act/scripts
    
    echo "**** Running application specific logic: Job - $ACT_JOBNAME Type - $ACT_JOBTYPE Phase - $ACT_PHASE *"
    
    Any application specific commands will go here
    
    echo "** Finished running application specific logic : Job - $ACT_JOBNAME Type - $ACT_JOBTYPE Phase - $ACT_PHASE*"
    exit $?
    ```