Scripts personalizados

Quando define um fluxo de trabalho de cópia de segurança e recuperação de desastres do LiveClone que realiza a limpeza prévia, pode selecionar entre a ocultação 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 desmontar a aplicação. Este script tem de estar numa pasta denominada /act/scripts no servidor que aloja a imagem montada.
  • No campo Tempo limite em segundos correspondente, especifique o tempo necessário para a conclusão do script.
  • Especifique uma pós-data, conforme necessário. O post-script usado para realizar uma operação nos dados depois de serem montados ou desmontados. Este script tem de estar numa pasta denominada /act/scripts no servidor que aloja a imagem montada.
  • No campo 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 cópia de segurança e RD

Os fluxos de trabalho de cópia de segurança e recuperação de desastres montam e desmontam imagens de cópia de segurança de acordo com um horário ou a pedido. Num fluxo de trabalho de cópia de segurança e RD, pode chamar o seguinte:

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

A capacidade de executar um script antes e depois de os dados serem montados ou desmontados permite-lhe fazer o seguinte:

  • Limpe as informações confidenciais
  • Gere relatórios
  • Armazenar dados, especialmente para operações de extração, transformação e carregamento (ETL)

Os scripts têm de residir numa pasta denominada /act/scripts no servidor que aloja a imagem do fluxo de trabalho do Backup and DR.

Variáveis de ambiente

As variáveis de ambiente permitem invocar comandos que se aplicam a tarefas específicas, tipos de tarefas ou aplicações. As variáveis de ambiente têm o prefixo ACT_. Por exemplo, uma variável de ambiente para uma base de dados pode ter o seguinte aspeto:

    [$ACT_APPNAME =="productiondb"]

ou uma variável de ambiente para uma operação de montagem pode ter o seguinte aspeto:

    [$ACT_JOBTYPE == "mount"]

Segue-se uma lista de variáveis de ambiente comuns com valores de exemplo:

  • JOBNAME: o nome da tarefa, por exemplo, Job_0123456.
  • APPID: o ID da aplicação, por exemplo, 4186.
  • APPNAME: nome da aplicação, por exemplo, My-DB.
  • HOSTNAME: o nome do anfitrião que é o destino desta tarefa, por exemplo, Jupiter.
  • SOURCEHOST: o nome do anfitrião que foi a origem desta aplicação, por exemplo, Saturn.
  • JOBTYPE: uma versão de texto da classe de tarefa, por exemplo, montar ou desmontar.
  • PHASE: uma string de texto que descreve a fase do trabalho, por exemplo, antes ou depois.
  • TIMEOUT: define a duração do script, ou seja, o tempo durante o qual o script pode ser executado.
  • OPÇÕES: opções de políticas que se aplicam a este trabalho.

Exemplo de guião

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

  • ACT_JOBTYPE: identifica se a tarefa é uma operação de montagem ou desmontagem.
  • ACT_PHASE: identifica se a fase é pré ou pós.
  • ACT_MULTI_END: usado apenas se uma base de dados e o respetivo registo estiverem montados. Quando esta opção é verdadeira, a base de dados está num estado em que é possível aceder à mesma.

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