사전 스크럽을 실행하는 LiveClone Backup and DR 워크플로를 정의할 때 Optim 개인 정보 보호 데이터 마스킹 또는 맞춤 스크립트 중에서 선택할 수 있습니다.
맞춤 스크립트의 경우 사전 처리 또는 사후 처리 스크립트를 하나 이상 지정합니다.
- 필요에 따라 사전 스크립트를 지정합니다. 사전 스크립트는 애플리케이션을 마운트하거나 마운트 해제하기 전에 환경을 구성하는 데 사용됩니다. 이 스크립트는 마운트된 백업을 호스팅하는 서버의
/act/scripts이라는 폴더에 있어야 합니다. - 해당 시간 제한(초)에 스크립트가 완료되는 데 필요한 시간을 지정합니다.
- 필요에 따라 사후 스크립트를 지정합니다. 데이터가 마운트되거나 마운트 해제된 후 데이터에 작업을 실행하는 데 사용되는 사후 스크립트입니다. 이 스크립트는 마운트된 백업을 호스팅하는 서버의
/act/scripts이라는 폴더에 있어야 합니다. - 해당 시간 제한(초)에 스크립트가 완료되는 데 필요한 시간을 지정합니다.
백업 및 DR 워크플로 사전 및 사후 스크립트
백업 및 DR 워크플로는 일정에 따라 또는 주문형으로 백업을 마운트 및 마운트 해제합니다. 백업 및 DR 워크플로에서는 다음을 호출할 수 있습니다.
- 백업이 마운트되거나 마운트 해제되기 전에 실행되는 사전 스크립트
- 백업이 마운트되거나 마운트 해제된 후에 실행되는 사후 스크립트
데이터가 마운트되거나 마운트 해제되기 전후에 스크립트를 실행할 수 있으므로 다음 작업을 할 수 있습니다.
- 민감한 정보 삭제
- 보고서 생성
- 웨어하우스 데이터(특히 추출, 변환, 로드(ETL) 작업의 경우)
스크립트는 마운트된 Backup and DR 워크플로 백업을 호스팅하는 서버의 /act/scripts 폴더에 있어야 합니다.
환경 변수
환경 변수를 사용하면 특정 작업, 작업 유형 또는 애플리케이션에 적용되는 명령어를 호출할 수 있습니다. 환경 변수에는 ACT_이 접두사로 붙습니다. 예를 들어 데이터베이스의 환경 변수는 다음과 같습니다.
[$ACT_APPNAME =="productiondb"]
또는 마운트 작업의 환경 변수는 다음과 같습니다.
[$ACT_JOBTYPE == "mount"]
다음은 샘플 값이 포함된 일반적인 환경 변수 목록입니다.
- JOBNAME: 작업의 이름입니다(예: Job_0123456).
- APPID: 애플리케이션의 ID입니다(예: 4186).
- APPNAME: 애플리케이션 이름(예: My-DB)
- HOSTNAME: 이 작업의 타겟인 호스트의 이름입니다(예: Jupiter).
- SOURCEHOST: 이 애플리케이션의 소스였던 호스트의 이름입니다(예: Saturn).
- JOBTYPE: 작업 클래스의 텍스트 버전입니다(예: 마운트 또는 마운트 해제).
- PHASE: 작업 단계를 설명하는 텍스트 문자열입니다(예: 사전 또는 사후).
- TIMEOUT: 스크립트의 지속 시간, 스크립트가 실행될 수 있는 시간을 정의합니다.
- OPTIONS: 이 작업에 적용되는 정책 옵션입니다.
스크립트 예시
다음 스크립트 예시에서는 세 가지 환경 변수를 사용합니다.
- ACT_JOBTYPE: 작업이 마운트 작업인지 마운트 해제 작업인지 식별합니다.
- ACT_PHASE: 단계가 사전인지 사후인지 식별합니다.
ACT_MULTI_END: 데이터베이스와 로그가 모두 마운트된 경우에만 사용됩니다. 이 값이 true이면 데이터베이스에 액세스할 수 있는 상태입니다.
```sh #!/bin/sh set +x echo "*** Running user script: Job - $ACT_JOBNAME Type - $ACT_JOBTYPE Phase - $ACT_PHASE***" #Use the first if clause to perform application specific operations during mount and in this example scrub-mount operation. #Use the second if clause to perform any application specific operation during unmount and in this example, #scrub-unmount operation. #if [[ $ACT_JOBTYPE == "mount" ]] || [[ $ACT_JOBTYPE == "scrub-mount" ]]; then if [[ $ACT_JOBTYPE == "unmount" ]] || [[ $ACT_JOBTYPE == "scrub-unmount" ]]; then echo "NO-OP for job type $ACT_JOBTYPE" exit 0 fi #Use the first if clause to perform application specific operations during the pre phase. #Use the second if clause to perform application specific operations during the post phase. #if [[ $ACT_PHASE == "post" ]]; then if [[ $ACT_PHASE == "pre" ]]; then echo "NO-OP for phase $ACT_PHASE" exit 0 fi #For multi-phase jobs (database and logs) check if the database has been mounted and the logs applied then #skip logs. #If the operation needs to be performed in phases other than the last phase, modify the clause. if [[ -z "$ACT_MULTI_END" ]] && [[ $ACT_MULTI_END != "true" ]]; then echo "NO-OP for multi-phase operation" exit 0 fi cd /act/scripts echo "**** Running application specific logic: Job - $ACT_JOBNAME Type - $ACT_JOBTYPE Phase - $ACT_PHASE *" Any application specific commands will go here echo "** Finished running application specific logic : Job - $ACT_JOBNAME Type - $ACT_JOBTYPE Phase - $ACT_PHASE*" exit $? ```