Quando definisci un workflow Backup e DR LiveClone che esegue la pulizia preliminare, 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 preliminare, se necessario. Lo script preliminare 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 successivo, se necessario. Lo script successivo 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 preliminari e successivi 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 preliminare che viene eseguito prima che un backup venga montato o smontato
- Uno script successivo che viene eseguito dopo che un backup è stato montato o smontato
La possibilità di eseguire uno script prima e dopo che i dati sono stati montati o smontati ti consente di:
- Pulire le informazioni sensibili
- Generare report
- Archiviare i dati, 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 avere il seguente aspetto:
[$ACT_APPNAME =="productiondb"]
o una variabile di ambiente per un'operazione di montaggio potrebbe avere il seguente aspetto:
[$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 di policy 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 o post.
ACT_MULTI_END: viene utilizzato solo se sono montati sia un database sia il relativo log. Quando questa opzione è impostata su true, 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 $? ```