カスタム スクリプト

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

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

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

バックアップと DR ワークフローの前後スクリプト

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

  • イメージのマウントまたはマウント解除の前に実行される事前スクリプト
  • イメージのマウントまたはマウント解除後に実行される事後スクリプト

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

  • 機密情報の除去
  • レポートを生成する
  • ウェアハウス データ(特に抽出、変換、読み込み(ETL)オペレーション用)

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

環境変数

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

    [$ACT_APPNAME =="productiondb"]

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

    [$ACT_JOBTYPE == "mount"]

一般的な環境変数とサンプル値を以下に示します。

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

サンプル スクリプト

以下のスクリプト例では次の 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 $?
    ```