Quando definisci un workflow Backup e DR LiveClone che esegue la pre-scrubbing, puoi scegliere tra la maschera dei dati di privacy di Optim o gli script personalizzati.
Per gli script personalizzati, specifica almeno uno script di pre-elaborazione o post-elaborazione.
- Specifica uno script pre-elaborazione, se necessario. Lo script pre-elaborazione viene utilizzato per configurare l'ambiente prima di montare o smontare l'applicazione. Questo script deve risiedere in una cartella denominata
/act/scriptssul server che ospita il backup montato. - Nel campo Timeout in secondi corrispondente, specifica il tempo necessario per il completamento dello script.
- Specifica uno script post-elaborazione, se necessario. Lo script post-elaborazione viene utilizzato per eseguire un'operazione sui dati dopo che sono stati montati o smontati. Questo script deve risiedere in una cartella denominata
/act/scriptssul server che ospita il backup montato. - Nel campo Timeout in secondi corrispondente, specifica il tempo necessario per il completamento dello script.
Script pre-elaborazione e post-elaborazione del workflow Backup e DR
I flussi di lavoro di backup e DR montano e smontano i backup in base a una pianificazione o su richiesta. In un workflow Backup e DR puoi chiamare quanto segue:
- Uno script pre-elaborazione che viene eseguito prima che venga montato o smontato un backup
- Uno script post-elaborazione che viene eseguito dopo che viene montato o smontato un backup
La possibilità di eseguire uno script prima e dopo che i dati vengono montati o smontati ti consente di eseguire le seguenti operazioni:
- Scrubbing per informazioni sensibili
- Generare report
- Data warehousing, in particolare per le operazioni di estrazione, trasformazione e caricamento (ETL)
Gli script devono risiedere in una cartella denominata /act/scripts sul server che ospita il backup del workflow Backup e DR montato.
Variabili di ambiente
Le variabili di ambiente ti consentono di richiamare comandi che si applicano a job, tipi di job o applicazioni specifici. Le variabili di ambiente sono precedute dal prefisso ACT_. Ad esempio, una variabile di ambiente per un database potrebbe essere simile alla seguente:
[$ACT_APPNAME =="productiondb"]
oppure una variabile di ambiente per un'operazione di montaggio potrebbe essere simile alla seguente:
[$ACT_JOBTYPE == "mount"]
Di seguito è riportato un elenco di variabili di ambiente comuni con valori di esempio:
- JOBNAME: il nome del job, ad esempio Job_0123456.
- APPID: l'ID dell'applicazione, ad esempio 4186.
- APPNAME: il nome dell'applicazione, ad esempio My-DB.
- HOSTNAME: il nome dell'host di destinazione di questo job, ad esempio Jupiter.
- SOURCEHOST: il nome dell'host che era l'origine di questa applicazione, ad esempio Saturn.
- JOBTYPE: una versione di testo della classe di job, ad esempio mount o unmount.
- PHASE: una stringa di testo che descrive la fase del job, ad esempio pre o post.
- TIMEOUT: definisci la durata dello script, ovvero il tempo di esecuzione consentito.
- OPTIONS: opzioni dei criteri che si applicano a questo job.
Script di esempio
Il seguente esempio di script utilizza tre variabili di ambiente:
- ACT_JOBTYPE: identifica se il job è un'operazione di montaggio o smontaggio.
- ACT_PHASE: identifica se la fase è pre-elaborazione o post-elaborazione.
ACT_MULTI_END: viene utilizzato solo se sono montati sia un database sia il relativo log. Quando questa condizione è vera, il database è in uno stato in cui è possibile accedervi.
```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 $? ```