Benutzerdefinierte Skripts in der Appliance-Verwaltungskonsole

Wenn Sie einen LiveClone-Backup- und DR-Workflow definieren, der ein Pre-Scrubbing durchführt, können Sie zwischen Optim-Datenschutzmaskierung oder benutzerdefinierten Skripts wählen.

Geben Sie für benutzerdefinierte Scripts mindestens ein Script für die Vor- oder Nachbearbeitung an.

  • Geben Sie bei Bedarf ein Pre-Script an. Das Pre-Script wird verwendet, um die Umgebung vor dem Bereitstellen oder Aufheben der Bereitstellung der Anwendung zu konfigurieren. Dieses Script muss sich in einem Ordner namens /act/scripts auf dem Server befinden, auf dem die bereitgestellte Sicherung gehostet wird.
  • Geben Sie im entsprechenden Feld Zeitlimit in Sekunden die Zeit an, die für die Ausführung des Skripts erforderlich ist.
  • Geben Sie nach Bedarf ein Post-Script an. Das Post-Script, das verwendet wird, um einen Vorgang für die Daten auszuführen, nachdem sie bereitgestellt oder die Bereitstellung aufgehoben wurde. Dieses Script muss sich in einem Ordner namens /act/scripts auf dem Server befinden, auf dem die bereitgestellte Sicherung gehostet wird.
  • Geben Sie im entsprechenden Feld Zeitlimit in Sekunden die Zeit an, die für die Ausführung des Skripts erforderlich ist.

Backup und DR-Workflow – Pre- und Post-Skripts

Backup und DR-Workflows stellen Sicherungen nach einem Zeitplan oder on demand bereit und heben die Bereitstellung auf. In einem Backup und DR-Workflow können Sie Folgendes aufrufen:

  • Ein Pre-Script, das ausgeführt wird, bevor eine Sicherung bereitgestellt oder die Bereitstellung aufgehoben wird
  • Ein Post-Skript, das nach dem Bereitstellen oder Aufheben der Bereitstellung einer Sicherung ausgeführt wird

Wenn Sie ein Skript vor und nach dem Bereitstellen oder Aufheben der Bereitstellung von Daten ausführen, können Sie Folgendes tun:

  • Vertrauliche Informationen entfernen
  • Berichte erstellen
  • Daten im Warehouse, insbesondere für ETL-Vorgänge (Extrahieren, Transformieren und Laden)

Skripts müssen sich in einem Ordner namens /act/scripts auf dem Server befinden, auf dem die bereitgestellte Sicherung des Backup und DR-Workflows gehostet wird.

Umgebungsvariablen

Mit Umgebungsvariablen können Sie Befehle aufrufen, die für bestimmte Jobs, Jobtypen oder Anwendungen gelten. Umgebungsvariablen haben das Präfix ACT_. Eine Umgebungsvariable für eine Datenbank könnte beispielsweise so aussehen:

    [$ACT_APPNAME =="productiondb"]

oder eine Umgebungsvariable für einen Bereitstellungsvorgang könnte so aussehen:

    [$ACT_JOBTYPE == "mount"]

Im Folgenden finden Sie eine Liste gängiger Umgebungsvariablen mit Beispielwerten:

  • JOBNAME: Der Name des Jobs, z. B. Job_0123456.
  • APPID: Die ID der Anwendung, z. B. 4186.
  • APPNAME: Name der Anwendung, z. B. My-DB.
  • HOSTNAME: Der Name des Hosts, der das Ziel dieses Jobs ist, z. B. Jupiter.
  • SOURCEHOST: Der Name des Hosts, der die Quelle für diese Anwendung war, z. B. Saturn.
  • JOBTYPE: Eine Textversion der Jobklasse, z. B. „mount“ oder „unmount“.
  • PHASE: Ein Textstring, der die Jobphase beschreibt, z. B. „pre“ oder „post“.
  • TIMEOUT: Legen Sie die Dauer des Scripts fest, also wie lange das Script ausgeführt werden darf.
  • OPTIONS: Richtlinienoptionen, die für diesen Job gelten.

Beispielskript

Im folgenden Skriptbeispiel werden drei Umgebungsvariablen verwendet:

  • ACT_JOBTYPE: Gibt an, ob es sich bei dem Job um einen Bereitstellungs- oder Aufhebungsvorgang handelt.
  • ACT_PHASE: Gibt an, ob die Phase vor oder nach der Aktivierung liegt.
  • ACT_MULTI_END: Wird nur verwendet, wenn sowohl eine Datenbank als auch ihr Log bereitgestellt sind. Wenn dies der Fall ist, befindet sich die Datenbank in einem Zustand, in dem auf sie zugegriffen werden kann.

    ```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 $?
    ```