Visualizza script plug-in di esempio
SnapManager include script che è possibile utilizzare come esempio per creare script personalizzati o come base per gli script personalizzati.
A proposito di questa attività
Gli script dei plug-in di esempio si trovano nella seguente posizione:
-
<default_install_directory>/plugins/examples/backup/create
-
<default_install_directory>/plugins/examples/clone/create
-
<default_install_directory>/plugins/unix/examples/backup/create/post
La directory che contiene gli script dei plug-in di esempio include le seguenti sottodirectory:
-
policy
: Contiene script che, una volta configurati, vengono sempre eseguiti sull'operazione di clonazione. -
pre
: Contiene script che, una volta configurati, vengono eseguiti prima dell'operazione di clonazione. -
post
: Contiene script che, una volta configurati, vengono eseguiti dopo l'operazione di clonazione.
La seguente tabella descrive gli script di esempio:
Nome dello script | Descrizione | Tipo di script |
---|---|---|
|
Contiene controlli aggiuntivi per il SID utilizzato nel sistema di destinazione. Lo script verifica che il SID abbia le seguenti caratteristiche:
|
Policy |
|
Pulisce il sistema di destinazione in modo che sia pronto per memorizzare il clone appena creato. Conserva o elimina file e directory in base alle esigenze. |
Pretask |
|
Esegue attività di follow-up come descritto in SAP System Copy Guide e TR-3442, SAP con Oracle su UNIX e NFS e NetApp Storage. Ad esempio, questo script elimina o modifica le voci di tabella nello schema SAP. |
Post-task |
|
Adatta l'autenticazione del sistema operativo per l'utente OPS, come raccomandato nella nota SAP 316641. Questo è un esempio di come elaborare file SQL esterni. |
Post-task |
|
Esegue il mirroring dei volumi dopo l'esecuzione dell'operazione di backup in un ambiente UNIX quando si utilizza Data ONTAP in 7-Mode o Clustered Data ONTAP. |
Post-task |
|
Esegue il vault del backup dopo che l'operazione di backup ha luogo in un ambiente UNIX quando si utilizza Clustered Data ONTAP. |
Post-task |
Gli script forniti con SnapManager utilizzano la shell BASH per impostazione predefinita. Prima di eseguire uno qualsiasi degli script di esempio, è necessario assicurarsi che il supporto per la shell BASH sia installato sul sistema operativo.
-
Per verificare che si stia utilizzando LA shell BASH, immettere il seguente comando al prompt dei comandi:
bash
Se non viene visualizzato alcun errore, LA shell BASH funziona correttamente.
In alternativa, è possibile immettere
which-bash
al prompt dei comandi. -
Individuare lo script nella seguente directory:
<installdir>/plugins/examples/clone/create
-
Aprire lo script in un editor di script come vi.
Script di esempio
Il seguente script personalizzato di esempio convalida i nomi SID del database e impedisce l'utilizzo di nomi non validi nel database clonato. Include tre operazioni (check, descrivi ed esegui), che vengono chiamate dopo l'esecuzione dello script. Lo script include anche la gestione dei messaggi di errore con i codici 0, 4 e >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
Informazioni correlate