Script personalizzati nella console di gestione dell'appliance

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/scripts sul 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/scripts sul 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.

consulta Script di esempio.

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 $?
    ```