사전 스크러빙을 실행하는 LiveClone 백업 및 DR 워크플로를 정의할 때 Optim 개인 정보 보호 데이터 마스킹 또는 맞춤 스크립트 중에서 선택할 수 있습니다.
맞춤 스크립트의 경우 사전 또는 사후 처리 스크립트를 하나 이상 지정합니다.
- 필요에 따라 사전 스크립트를 지정합니다. 사전 스크립트는 애플리케이션을 마운트하거나 마운트 해제하기 전에 환경을 구성하는 데 사용됩니다. 이 스크립트는 마운트된 이미지를 호스팅하는 서버의
/act/scripts
폴더에 있어야 합니다. - 해당하는 초 단위 시간 제한에서 스크립트가 완료되는 데 필요한 시간을 지정합니다.
- 필요에 따라 포스트스크립트를 지정합니다. 데이터가 마운트 또는 마운트 해제된 후 데이터에 작업을 실행하는 데 사용되는 포스트스크립트입니다. 이 스크립트는 마운트된 이미지를 호스팅하는 서버의
/act/scripts
폴더에 있어야 합니다. - 해당하는 초 단위 시간 제한에서 스크립트가 완료되는 데 필요한 시간을 지정합니다.
백업 및 DR 워크플로 사전 및 사후 스크립트
백업 및 DR 워크플로는 일정 또는 주문형에 따라 백업 이미지를 마운트 및 마운트 해제합니다. 백업 및 DR 워크플로에서 다음을 호출할 수 있습니다.
- 이미지가 마운트되거나 마운트 해제되기 전에 실행되는 사전 스크립트
- 이미지가 마운트 또는 마운트 해제된 후에 실행되는 포스트스크립트
데이터가 마운트되기 전과 마운트 해제된 후에 스크립트를 실행할 수 있으면 다음 작업을 할 수 있습니다.
- 민감한 정보 삭제
- 보고서 생성
- 창고 데이터(특히 추출, 변환, 로드(ETL) 작업용)
스크립트는 마운트된 백업 및 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: 작업 단계를 설명하는 텍스트 문자열입니다(예: pre 또는 post).
- TIMEOUT: 스크립트의 길이, 스크립트 실행이 허용되는 시간을 정의합니다.
- OPTIONS: 이 작업에 적용되는 정책 옵션입니다.
스크립트 예시
다음 스크립트 예에서는 세 가지 환경 변수를 사용합니다.
- ACT_JOBTYPE: 작업이 마운트 작업인지 또는 마운트 해제 작업인지 식별합니다.
- ACT_PHASE: 단계가 사전인지 후속인지 식별합니다.
ACT_MULTI_END: 데이터베이스와 로그가 모두 마운트된 경우에만 사용됩니다. 이 경우 데이터베이스에 액세스할 수 있는 상태입니다.
```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 $? ```