View sample plug-in scripts
SnapManager includes scripts that you can use as examples for how to make your own scripts or as a basis for your custom scripts.
About this task
You can find the sample plug-in scripts at the following location:
-
<default_install_directory>\plugins\examples\backup\create -
<default_install_directory>\plugins\examples\clone\create -
<default_install_directory>\plugins\windows\examples\backup\create\post
The directory that contains the sample plug-in scripts includes the following subdirectories:
-
policy: Contains scripts that, when configured, always run on the clone operation. -
pre: Contains scripts that, when configured, run before the clone operation. -
post: Contains scripts that, when configured, run after the clone operation.
The following table describes the sample scripts:
| Script name | Description | Type of script |
|---|---|---|
|
Contains additional checks to the SID used on the target system. The script checks that the SID has the following characteristics:
|
Policy |
|
Cleans the target system so that it is ready to store the newly created clone. Preserves or deletes files and directories depending on the need. |
Pretask |
|
Performs follow-up activity tasks as described in SAP System Copy Guide and TR-3442, SAP with Oracle on UNIX and NFS and NetApp Storage. For example, this script deletes or modifies table entries in the SAP schema. |
Post-task |
|
Adapts the operating system authentication for the OPS$ user, as recommended in SAP Note 316641. This is a sample of how to process external SQL files. |
Post-task |
|
Mirrors the volumes after the backup operation occurs in a Windows environment when you are using either Data ONTAP operating in 7-Mode. |
Post-task |
|
Vaults the qtrees after the backup operation occurs in a Windows environment when you are using either Data ONTAP operating in 7-Mode. |
Post-task |
|
Mirrors the volumes after the backup operation occurs in a Windows environment when you are using clustered Data ONTAP. |
Post-task |
|
Vaults the qtrees after the backup operation occurs in a Windows environment when you are using clustered Data ONTAP. |
Post-task |
Scripts delivered with SnapManager use the BASH shell by default. You must ensure that support for the BASH shell is installed on your operating system before attempting to run any of the sample scripts.
-
To verify that you are using the BASH shell, enter the following command at the command prompt:
bashIf you do not see an error, the BASH shell is operating properly.
Alternately, you can enter the
which-bashcommand at the command prompt. -
Locate the script in the following directory:
<installdir>\plugins\examples\clone\create -
Open the script in a script editor such as vi.
Sample script
The following sample custom script validates database SID names and prevents invalid names from being used in the cloned database. It includes three operations (check, describe, and execute), which are called after you run the script. The script also includes error message handling with codes 0, 4 and >4.
@echo off
REM $Id: //depot/prod/capstan/Rcapstan_ganges/src/plugins/windows/examples/clone/create/policy/validate_sid.cmd#1 $
REM $Revision: #1 $ $Date: 2011/12/06 $
REM
REM
set /a EXIT=0
set name="Validate SID"
set description="Validate SID used on the target system"
set parameter=()
rem reserved system IDs
set 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")
if /i "%1" == "-check" goto :check
if /i "%1" == "-execute" goto :execute
if /i "%1" == "-describe" goto :describe
:usage:
echo usage: %0 "{ -check | -describe | -execute }"
set /a EXIT=99
goto :exit
:check
set /a EXIT=0
goto :exit
:describe
echo SM_PI_NAME:%name%
echo SM_PI_DESCRIPTION:%description%
set /a EXIT=0
goto :exit
:execute
set /a EXIT=0
rem SM_TARGET_SID must be set
if "%SM_TARGET_SID%" == "" (
set /a EXIT=4
echo SM_TARGET_SID not set
goto :exit
)
rem exactly three alphanumeric characters, with starting with a letter
echo %SM_TARGET_SID% | findstr "\<[a-zA-Z][a-zA-Z0-9][a-zA-Z0-9]\>" >nul
if %ERRORLEVEL% == 1 (
set /a EXIT=4
echo SID is defined as a 3 digit value starting with a letter. [%SM_TARGET_SID%] is not valid.
goto :exit
)
rem not a SAP reserved SID
echo %INVALID_SIDS% | findstr /i \"%SM_TARGET_SID%\" >nul
if %ERRORLEVEL% == 0 (
set /a EXIT=4
echo SID [%SM_TARGET_SID%] is reserved by SAP
goto :exit
)
goto :exit
:exit
echo Command complete.
exit /b %EXIT%