Scripts personalizados no console de gerenciamento do appliance

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

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

  • Especifique um pré-script conforme necessário. O pré-script é usado para configurar o ambiente antes de montar ou desmontar o aplicativo. Esse script precisa estar em uma pasta chamada /act/scripts no servidor que hospeda o backup montado.
  • No Tempo limite em segundos correspondente, especifique o tempo necessário para a conclusão do script.
  • Especifique um pós-script conforme necessário. O script pós-execução usado para realizar uma operação nos dados depois que eles são montados ou desmontados. Esse script precisa estar em uma pasta chamada /act/scripts no servidor que hospeda o backup montado.
  • 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 desmontam backups 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 executado antes de um backup ser montado ou desmontado.
  • Um script pós-execução que é executado depois que um backup é montado ou desmontado.

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 data warehouse, principalmente para operações de extração, transformação e carregamento (ETL)

Os scripts precisam estar em uma pasta chamada /act/scripts no servidor que hospeda o backup montado do fluxo de trabalho de backup e DR.

Variáveis de ambiente

Com as variáveis de ambiente, é possível 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 assim:

    [$ACT_APPNAME =="productiondb"]

ou uma variável de ambiente para uma operação de montagem pode ter esta aparência:

    [$ACT_JOBTYPE == "mount"]

Confira abaixo 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 de 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, o tempo que ele pode ser executado.
  • OPTIONS: opções de política que se aplicam 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 é verdade, 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 $?
    ```