Skip to main content
SnapManager Oracle
Die deutsche Sprachversion wurde als Serviceleistung für Sie durch maschinelle Übersetzung erstellt. Bei eventuellen Unstimmigkeiten hat die englische Sprachversion Vorrang.

Erstellen von vor-, Post-Task- und Richtlinienskripten

Beitragende

SnapManager ermöglicht das Erstellen von Skripten für die Vorverarbeitung, die Nachbearbeitung und die Richtlinienaufgaben für Backup, Wiederherstellung und Klonvorgänge. Sie müssen die Skripte in das richtige Installationsverzeichnis platzieren, um die Vorverarbeitung, die Nachbearbeitungsaktivität und die Richtlinienaufgaben des SnapManager-Vorgangs auszuführen.

Skriptinhalt vor und nach der Aufgabe

Alle Skripte müssen Folgendes enthalten:

  • Spezifische Vorgänge (prüfen, beschreiben und ausführen)

  • (Optional) vordefinierte Umgebungsvariablen

  • Spezifischer Fehlercode (Rückgabecode (rc))

Hinweis Sie müssen den korrekten Code für die Fehlerbehandlung angeben, um das Skript zu validieren.

Sie können die Vortaskskripte für viele Zwecke verwenden, zum Beispiel, um einen Festplattenspeicher vor dem Start des SnapManager-Vorgangs zu bereinigen. So können Sie beispielsweise auch die Skripts für die Nachbearbeitung verwenden, um einschätzen zu können, ob SnapManager über genügend Festplattenspeicher verfügt, um den Vorgang abzuschließen.

Policy Task Skript Inhalt

Sie können das Richtlinienskript ausführen, ohne bestimmte Aufgaben wie das Prüfen, Beschreiben und Ausführen von auszuführen. Das Skript enthält die vordefinierten Umgebungsvariablen (optional) und den spezifischen Code zur Fehlerbehandlung.

Das Richtlinienskript wird vor der Backup-, Wiederherstellungs- und Klonvorgänge ausgeführt.

  • Unterstützte Formate*

Als Prescript und Post-Script kann eine Shell-Script-Datei mit .sh-Erweiterung verwendet werden.

Skript-Installationsverzeichnis

Das Verzeichnis, in dem Sie das Skript installieren, beeinflusst die Verwendung. Sie können die Skripte in das Verzeichnis platzieren und das Skript ausführen, bevor oder nach dem Backup-, Wiederherstellungs- oder Klonvorgang erfolgt. Sie müssen das Skript in das in der Tabelle angegebene Verzeichnis legen und es auf optionaler Basis verwenden, wenn Sie den Backup-, Wiederherstellungs- oder Klonvorgang angeben.

Hinweis Sie müssen sicherstellen, dass das Plugin-Verzeichnis die ausführbare Berechtigung hat, bevor Sie die Skripte für den SnapManager-Betrieb verwenden.
Aktivität Backup Wiederherstellen Klon

Vorverarbeitung

<default_Installation_Directory>/Plugins/Backup/create/pre

<default_Installation_Directory>/Plugins/restore/create/pre

<default_Installation_Directory>/Plugins/Clone/create/pre

Nachbearbeitet

<default_Installation_Directory>/ Plugins/Backup/create/post

<default_Installation_Directory>/Plugins/restore/create/post

<default_Installation_Directory>/Plugins/Clone/create/post

Richtlinienbasiert

<default_Installation_Directory>/Plugins/Backup/create/Policy

<default_Installation_Directory>/Plugins/restore/create/Policy

<default_Installation_Directory>/Plugins/Clone/create/Policy

Sample scripts Position

Im Folgenden sind einige Beispiele für die Skripte vor und nach der Aufgabe für die Backup- und Klonvorgänge aufgeführt, die im Installationspfad verfügbar sind:

  • <default_Installation_Directory>/Plugins/examples/Backup/create/pre

  • <default_Installation_Directory>/Plugins/examples/Backup/create/post

  • <default_Installation_Directory>/Plugins/examples/Clone/create/pre

  • <default_Installation_Directory>/Plugins/examples/Clone/create/post

Was Sie im Skript ändern können

Wenn Sie ein neues Skript erstellen, können Sie nur die Operationen beschreiben und ausführen ändern. Jedes Skript muss die folgenden Variablen enthalten: Kontext, Timeout und Parameter.

Die Variablen, die Sie in der Beschreiben-Funktion des Skripts beschrieben haben, müssen zu Beginn des Skripts deklariert werden. Sie können neue Parameterwerte in Parameter=() hinzufügen und dann die Parameter in der Funktion Ausführen verwenden.

Beispielskript

Im Folgenden ist ein Beispielskript mit einem vom Benutzer angegebenen Rückgabecode zur Schätzung des Speicherplatzes im SnapManager-Host:

    #!/bin/bash
    # $Id: //depot/prod/capstan/main/src/plugins/unix/examples/backup/create/pre/disk_space_estimate.sh#5 $
    name="disk space estimation ($(basename $0))"
    description="pre tasks for estimating the space on the target system"
    context=
    timeout="0"
    parameter=()
    EXIT=0
    PRESERVE_DIR="/tmp/preserve/$(date +%Y%m%d%H%M%S)"
    function _exit {
       rc=$1
       echo "Command complete."
       exit $rc
    }
    function usage {
       echo "usage: $(basename $0) { -check | -describe | -execute }"
       _exit 99
    }
    function describe {
       echo "SM_PI_NAME:$name"
       echo "SM_PI_DESCRIPTION:$description"
       echo "SM_PI_CONTEXT:$context"
       echo "SM_PI_TIMEOUT:$timeout"
       IFS=^
       for entry in ${parameter[@]}; do
           echo "SM_PI_PARAMETER:$entry"
       done
       _exit 0
    }
    function check {
       _exit 0
    }
    function execute {
       echo "estimating the space on the target system"
       # Shell script to monitor or watch the disk space
       # It will display alert message, if the (free available) percentage
       # of space is >= 90%
       # ----------------------------------------------------------------------
       # Linux shell script to watch disk space (should work on other UNIX oses )
       # set alert level 90% is default
       ALERT=90
       df -H | grep -vE '^Filesystem|tmpfs|cdrom' | awk '{ print $5 " " $1 }' | while read output;
       do
         #echo $output
         usep=$(echo $output | awk '{ print $1}' | cut -d'%' -f1  )
         partition=$(echo $output | awk '{ print $2 }' )
       if [ $usep -ge $ALERT ]; then
           echo "Running out of space \"$partition ($usep%)\" on $(hostname) as on $(date)" |
       fi
       done
      _exit 0
     }
    function preserve {
        [ $# -ne 2 ] && return 1
        file=$1
        save=$(echo ${2:0:1} | tr [a-z] [A-Z])
        [ "$save" == "Y" ] || return 0
        if [ ! -d "$PRESERVE_DIR" ] ; then
           mkdir -p "$PRESERVE_DIR"
           if [ $? -ne 0 ] ; then
               echo "could not create directory [$PRESERVE_DIR]"
               return 1
           fi
        fi
        if [ -e "$file" ] ; then
            mv "$file" "$PRESERVE_DIR/."
        fi
        return $?
    }
    case $(echo $1 | tr [A-Z] [a-z]) in
        -check)    check
                  ;;
        -execute)  execute
                  ;;
        -describe) describe
                  ;;
     *)         echo "unknown option $1"
              usage
              ;;
     esac