샘플 플러그인 스크립트를 봅니다
SnapManager에는 스크립트를 직접 만드는 방법이나 사용자 지정 스크립트의 기반으로 사용할 수 있는 스크립트가 포함되어 있습니다.
-
이 작업에 대한 정보 *
샘플 플러그인 스크립트는 다음 위치에서 찾을 수 있습니다.
-
'<default_install_directory>/plugins/examples/backup/create'
-
'<default_install_directory>/plugins/examples/clone/create'
-
'<default_install_directory>/plugins/unix/examples/backup/create/post'
샘플 플러그인 스크립트가 포함된 디렉토리에는 다음 하위 디렉토리가 포함됩니다.
-
'정책': 구성된 경우 항상 클론 작업에서 실행되는 스크립트를 포함합니다.
-
사전: 구성된 경우 클론 작업 전에 실행되는 스크립트가 포함되어 있습니다.
-
게시물: 구성된 경우 클론 작업 후에 실행되는 스크립트를 포함합니다.
다음 표에는 샘플 스크립트에 대한 설명이 나와 있습니다.
스크립트 이름 | 설명 | 스크립트 유형입니다 |
---|---|---|
"validate_sid.sh"를 선택합니다 |
대상 시스템에서 사용되는 SID에 대한 추가 검사를 포함합니다. 스크립트는 SID에 다음과 같은 특성이 있는지 확인합니다.
|
정책 |
"정리.sh" |
새로 생성된 클론을 저장할 준비가 되도록 타겟 시스템을 정리합니다. 필요에 따라 파일 및 디렉토리를 보존하거나 삭제합니다. |
사전 작업 |
'sap_follow_up_activities.sh'를 선택합니다 |
SAP System Copy Guide_ 및 TR-3442, SAP with Oracle on UNIX, NFS and NetApp Storage에 설명된 대로 후속 작업 작업을 수행합니다. 예를 들어 이 스크립트는 SAP 스키마의 테이블 항목을 삭제하거나 수정합니다. |
작업 후 |
OS_db_authentication.sh를 선택합니다 |
SAP Note 316641에서 권장하는 대로 OPS$ 사용자에 대한 운영 체제 인증을 조정합니다. 다음은 외부 SQL 파일을 처리하는 방법의 예입니다. |
작업 후 |
'Mirror_the_backup.sh'를 선택합니다 |
7-Mode에서 운영 중인 Data ONTAP 또는 clustered Data ONTAP을 사용하는 UNIX 환경에서 백업 작업이 발생한 이후에 볼륨을 미러링합니다. |
작업 후 |
'볼트_백업_씨닷시' |
클러스터 Data ONTAP를 사용할 때 UNIX 환경에서 백업 작업 후 백업을 보관합니다. |
작업 후 |
SnapManager와 함께 제공되는 스크립트는 기본적으로 Bash 셸을 사용합니다. 예제 스크립트를 실행하기 전에 운영 체제에 Bash 셸에 대한 지원이 설치되어 있는지 확인해야 합니다.
-
Bash 셸을 사용 중인지 확인하려면 명령 프롬프트에 다음 명령을 입력합니다.
``bash *’
오류가 표시되지 않으면 Bash 셸이 제대로 작동하고 있는 것입니다.
또는 명령 프롬프트에 "어떤 -bash" 명령을 입력할 수도 있습니다.
-
다음 디렉터리에서 스크립트를 찾습니다.
'<installdir>/plugins/examples/clone/create'
-
vi와 같은 스크립트 편집기에서 스크립트를 엽니다.
샘플 스크립트
다음 샘플 사용자 지정 스크립트는 데이터베이스 SID 이름의 유효성을 검사하고 복제된 데이터베이스에서 잘못된 이름이 사용되지 않도록 합니다. 여기에는 세 가지 작업(확인, 설명 및 실행)이 포함되며 이 작업은 스크립트를 실행한 후에 호출됩니다. 이 스크립트에는 코드 0, 4 및 > 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
-
관련 정보 *