Anzeigen von Beispielskripten für das Plug-in
SnapManager enthält Skripte, die Sie als Beispiele dafür verwenden können, wie Sie Ihre eigenen Skripte oder als Grundlage für Ihre benutzerdefinierten Skripts erstellen.
Die Beispielskripts für das Plug-in finden Sie unter folgender Adresse:
-
<default_install_Directory>/Plugins/examples/Backup/create
-
<default_install_Directory>/Plugins/examples/Clone/create
-
<default_install_Directory>/Plugins/unix/examples/Backup/create/post
Das Verzeichnis, das die Beispiel-Plug-in-Skripte enthält, umfasst die folgenden Unterverzeichnisse:
-
Richtlinie: Enthält Skripte, die, wenn sie konfiguriert sind, immer im Klonvorgang ausgeführt werden.
-
Pre: Enthält Skripte, die, wenn konfiguriert, vor dem Klonvorgang ausgeführt werden.
-
Post: Enthält Skripte, die, wenn sie konfiguriert sind, nach dem Klonvorgang ausgeführt werden.
Die folgende Tabelle beschreibt die Beispielskripts:
Skriptname | Beschreibung | Skripttyp |
---|---|---|
validate_sid.sh |
Enthält zusätzliche Prüfungen für den auf dem Zielsystem verwendeten SID. Das Skript überprüft, ob der SID die folgenden Eigenschaften hat:
|
Richtlinie |
cleanup.sh |
Reinigt das Zielsystem, so dass es bereit ist, den neu erstellten Klon zu speichern. Speichert oder löscht Dateien und Verzeichnisse je nach Bedarf. |
Voraufgabe |
Mirror_the_backup.sh |
Spiegelung der Volumes nach dem Backup in einer UNIX-Umgebung bei Verwendung von Data ONTAP im 7-Mode oder Clustered Data ONTAP |
Aufgabe einstellen |
Vault_the_backup_cDOT.sh |
Vaults das Backup, nachdem der Backup-Vorgang in einer UNIX-Umgebung ausgeführt wurde, wenn Sie Clustered Data ONTAP verwenden. |
Aufgabe einstellen |
Mit SnapManager gelieferte Skripte verwenden standardmäßig die BASH Shell. Sie müssen sicherstellen, dass die Unterstützung für DIE BASH-Shell auf Ihrem Betriebssystem installiert ist, bevor Sie versuchen, einen der Beispielskripte auszuführen.
-
Um zu überprüfen, ob Sie die BASH-Shell verwenden, geben Sie den folgenden Befehl an der Eingabeaufforderung ein:
bash
Wenn kein Fehler auftritt, funktioniert DIE BASH-Shell ordnungsgemäß.
Sie können alternativ den Befehl which-bash an der Eingabeaufforderung eingeben.
-
Suchen Sie das Skript im folgenden Verzeichnis:
<installdir>/Plugins/Beispiele/Clone/create
-
Öffnen Sie das Skript in einem Skript-Editor wie vi.
Beispielskript
Das folgende benutzerdefinierte Beispielskript validiert die Namen der Datenbank-SID und verhindert, dass ungültige Namen in der geklonten Datenbank verwendet werden. Es umfasst drei Operationen (prüfen, beschreiben und ausführen), die aufgerufen werden, nachdem Sie das Skript ausgeführt haben. Das Skript enthält auch Fehlermeldungs-Handling mit den Codes 0, 4 und >4.
EXIT=0 name="Validate SID" description="Validate SID used on the target system" parameter=() # reserved system IDs INVALID_SIDS=("ADD" "ALL" "AND" "ANY" "ASC" "COM" "DBA" "END" "EPS" "FOR" "GID" "IBM" "INT" "KEY" "LOG" "MON" "NIX" "NOT" "OFF" "OMS" "RAW" "ROW" "SAP" "SET" "SGA" "SHG" "SID" "SQL" "SYS" "TMP" "UID" "USR" "VAR") function _exit { rc=$1 echo "Command complete." return $rc} function usage { echo "usage: $(basename $0) { -check | -describe | -execute }" _exit 99} function describe { echo "SM_PI_NAME:$name" echo "SM_PI_DESCRIPTION:$description" _exit 0} function check { _exit 0} function execute { IFS=\$ myEnv=$(env) for a in ${paramteter[@]}; do key=$(echo ${$a} | awk -F':' '{ print $1 }') val=$(echo $myEnv | grep -i -w $key 2>/dev/null | awk -F'=' '{ print $2 }') if [ -n "$val" ] ; then state="set to $val" else state="not set" #indicate a FATAL error, do not continue processing ((EXIT=+4)) fi echo "parameter $key is $state" done ###################################################################### # additional checks # Use SnapManager environment variable of SM_TARGET_SID if [ -n "$SM_TARGET_SID" ] ; then if [ ${#SM_TARGET_SID} -ne 3 ] ; then echo "SID is defined as a 3 digit value, [$SM_TARGET_SID] is not valid." EXIT=4 else echo "${INVALID_SIDS[@]}" | grep -i -w $SM_TARGET_SID >/dev/null 2>&1 if [ $? -eq 0 ] ; then echo "The usage of SID [$SM_TARGET_SID] is not supported by SAP." ((EXIT+=4)) fi fi else echo "SM_TARGET_SID not set" EXIT=4 fi _exit $EXIT} # Include the 3 required operations for clone plugin case $(echo "$1" | tr [A-Z] [a-z]) in -check ) check ;; -describe ) describe ;; -execute ) execute ;; * ) echo "unknown option $1" usage ;; esac