Scripts personalizados

Ao definir um fluxo de trabalho de backup e DR do LiveClone que executa a pré-limpeza, é possível selecionar o mascaramento de dados de privacidade do Optim ou scripts personalizados.

Para scripts personalizados, especifique pelo menos um script de pré-processamento ou pós-processamento.

  • Especifique um pré-script conforme necessário. O pré-script é usado para configurar o ambiente antes de montar ou desconectar o aplicativo. Esse script precisa estar em uma pasta chamada /act/scripts no servidor que hospeda a imagem montada.
  • No Tempo limite em segundos correspondente, especifique o tempo necessário para a conclusão do script.
  • Especifique um script pós-inicialização conforme necessário. O postscript usado para realizar uma operação nos dados depois que ele é montado ou removido. Esse script precisa estar em uma pasta chamada /act/scripts no servidor que hospeda a imagem montada.
  • No Tempo limite em segundos correspondente, especifique o tempo necessário para a conclusão do script.

Scripts pré e pós-fluxo de trabalho de backup e DR

Os fluxos de trabalho de backup e DR montam e desconectam imagens de backup de acordo com uma programação ou sob demanda. Em um fluxo de trabalho de backup e DR, é possível chamar o seguinte:

  • Um pré-script que é executado antes que uma imagem seja montada ou desmontada
  • Um post-script que é executado depois que uma imagem é montada ou desmontada

A capacidade de executar um script antes e depois que os dados são montados ou desmontados permite fazer o seguinte:

  • Remover informações sensíveis
  • Gerar relatórios
  • Dados do repositório, principalmente para operações de extração, transformação e carregamento (ETL)

Os scripts precisam residir em uma pasta chamada /act/scripts no servidor que hospeda a imagem do fluxo de trabalho de DR e backup montada.

Variáveis de ambiente

As variáveis de ambiente permitem invocar comandos que se aplicam a jobs, tipos de jobs ou aplicativos específicos. As variáveis de ambiente têm o prefixo ACT_. Por exemplo, uma variável de ambiente para um banco de dados pode ser semelhante a:

    [$ACT_APPNAME =="productiondb"]

ou uma variável de ambiente para uma operação de montagem pode ser semelhante a:

    [$ACT_JOBTYPE == "mount"]

Confira a seguir uma lista de variáveis de ambiente comuns com valores de exemplo:

  • JOBNAME: o nome do job, por exemplo, Job_0123456.
  • APPID: o ID do aplicativo, por exemplo, 4186.
  • APPNAME: nome do aplicativo, por exemplo, My-DB.
  • HOSTNAME: o nome do host que é o destino deste job, por exemplo, "Jupiter".
  • SOURCEHOST: o nome do host que foi a origem deste aplicativo, por exemplo, Saturn.
  • JOBTYPE: uma versão em texto da classe de job, por exemplo, mount ou unmount.
  • PHASE: uma string de texto que descreve a fase do job, por exemplo, pré ou pós.
  • TIMEOUT: define a duração do script, ou seja, por quanto tempo ele pode ser executado.
  • OPÇÕES: políticas aplicáveis a este job.

Script de exemplo

O exemplo de script a seguir usa três variáveis de ambiente:

  • ACT_JOBTYPE: identifica se o job é uma operação de montagem ou desmontagem.
  • ACT_PHASE: identifica se a fase é pré ou pós.
  • ACT_MULTI_END: é usado apenas se um banco de dados e o registro dele estiverem montados. Quando isso é verdadeiro, o banco de dados está em um estado em que pode ser acessado.

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