Benutzerdefinierte Skripts in der Appliance-Verwaltungskonsole

Wenn Sie einen LiveClone Backup and DR-Workflow definieren, der eine Vorab-Bereinigung durchführt, können Sie zwischen Optim-Datenschutz-Datenmaskierung oder benutzerdefinierten Skripts wählen.

Geben Sie für benutzerdefinierte Skripts mindestens ein Vorab- oder Nachbearbeitungsskript an.

  • Geben Sie nach Bedarf ein Vorab-Skript an. Mit dem Vorab-Skript wird die Umgebung konfiguriert, bevor die Anwendung eingebunden oder die Einbindung aufgehoben wird. Dieses Skript muss sich auf dem Server, auf dem die eingebundene Sicherung gehostet wird, in einem Ordner mit dem Namen /act/scripts befinden.
  • Geben Sie im entsprechenden Feld Timeout in Sekunden die Zeit an, die für die Ausführung des Skripts erforderlich ist.
  • Geben Sie nach Bedarf ein Nachbearbeitungsskript an. Mit dem Nachbearbeitungsskript wird ein Vorgang für die Daten ausgeführt, nachdem sie eingebunden oder die Einbindung aufgehoben wurde. Dieses Skript muss sich auf dem Server, auf dem die eingebundene Sicherung gehostet wird, in einem Ordner mit dem Namen /act/scripts befinden.
  • Geben Sie im entsprechenden Feld Timeout in Sekunden die Zeit an, die für die Ausführung des Skripts erforderlich ist.

Vorab- und Nachbearbeitungsskripts für Backup and DR-Workflows

Backup and DR-Workflows binden Sicherungen nach einem Zeitplan oder auf Anfrage ein und heben die Einbindung auf. In einem Backup and DR-Workflow können Sie Folgendes aufrufen:

  • Ein Vorab-Skript, das ausgeführt wird, bevor eine Sicherung eingebunden oder die Einbindung aufgehoben wird
  • Ein Nachbearbeitungsskript, das ausgeführt wird, nachdem eine Sicherung eingebunden oder die Einbindung aufgehoben wurde

Wenn Sie ein Skript ausführen können, bevor und nachdem Daten eingebunden oder die Einbindung aufgehoben wurde, haben Sie folgende Möglichkeiten:

  • Nach sensiblen Informationen suchen
  • Berichte erstellen
  • Data-Warehouse-Daten, insbesondere für ETL-Vorgänge (Extrahieren, Transformieren und Laden)

Skripts müssen sich auf dem Server, auf dem die eingebundene Sicherung des Backup and DR-Workflows gehostet wird, in einem Ordner mit dem Namen /act/scripts befinden.

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"]

Eine Umgebungsvariable für einen Einbindungsvorgang könnte so aussehen:

    [$ACT_JOBTYPE == "mount"]

Im Folgenden finden Sie eine Liste häufig verwendeter Umgebungsvariablen mit Beispielwerten:

  • JOBNAME: Der Name des Jobs, z. B. Job_0123456.
  • APPID: Die ID der Anwendung, z. B. 4186.
  • APPNAME: Der Name der Anwendung, z. B. My-DB.
  • HOSTNAME: Der Name des Hosts, der das Ziel von diesem Job 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: Eine Textstring, der die Jobphase beschreibt, z. B. „pre“ oder „post“.
  • TIMEOUT: Die Dauer des Skripts, also wie lange es 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 um einen Einbindungs- oder Aufhebungsvorgang handelt.
  • ACT_PHASE: Gibt an, ob die Phase „pre“ oder „post“ ist.
  • ACT_MULTI_END: Wird nur verwendet, wenn sowohl eine Datenbank als auch ihr Log eingebunden sind. Wenn dieser Wert „true“ 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 $?
    ```