Script personalizzati

Quando definisci un flusso di lavoro di backup e DR LiveClone che esegue il pre-scrubbing, puoi scegliere tra il mascheramento dei dati della privacy di Optim o script personalizzati.

Per gli script personalizzati, specifica almeno uno script di pre- o post-elaborazione.

  • Specifica un pre-script, se necessario. Lo script pre viene utilizzato per configurare l'ambiente prima di montare o smontare l'applicazione. Questo script deve trovarsi in una cartella denominata /act/scripts sul server che ospita l'immagine montata.
  • In Timeout in secondi, specifica il tempo necessario per il completamento dello script.
  • Specifica un post-script, se necessario. Il post-script utilizzato per eseguire un'operazione sui dati dopo il montaggio o lo smontaggio. Questo script deve trovarsi in una cartella denominata /act/scripts sul server che ospita l'immagine montata.
  • In Timeout in secondi, specifica il tempo necessario per il completamento dello script.

Script pre e post del flusso di lavoro di Backup e DR

I workflow di backup e RE montano e smontano le immagini di backup in base a una pianificazione o su richiesta. In un flusso di lavoro di Backup e DR puoi chiamare quanto segue:

  • Uno script precedente che viene eseguito prima del montaggio o dello smontaggio di un'immagine
  • Un post-script che viene eseguito dopo il montaggio o lo smontaggio di un'immagine

La possibilità di eseguire uno script prima e dopo il montaggio o lo smontaggio dei dati ti consente di:

  • Controllo per informazioni sensibili
  • Generare report
  • Dati del data warehouse, in particolare per le operazioni di estrazione, trasformazione e caricamento (ETL)

Gli script devono trovarsi in una cartella denominata /act/scripts sul server che ospita l'immagine del workflow di backup e DR montata.

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"]

oppure 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 Giove.
  • SOURCEHOST: il nome dell'host che è stato l'origine di questa applicazione, ad esempio Saturn.
  • JOBTYPE: una versione in 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 per cui è consentito l'esecuzione dello script.
  • OPTIONS: le opzioni di criteri che si applicano a questo job.

Script di esempio

L'esempio di script seguente utilizza tre variabili di ambiente:

  • ACT_JOBTYPE: identifica se il job è un'operazione di montaggio o smontaggio.
  • ACT_PHASE: indica se la fase è pre o post.
  • ACT_MULTI_END: utilizzato solo se sono montati sia un database sia il relativo log. In questo caso, 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 $?
    ```