Esta página explica como adicionar scripts a um modelo de cópia de segurança. Descreve as diferentes fases que um script executa durante uma tarefa de cópia de segurança.
Pode escrever os seus scripts e executá-los para realizar uma ação no início de uma tarefa de cópia de segurança, durante a mesma ou após a sua conclusão. Também são denominados scripts pré-execução e pós-execução.
Localização dos scripts
É criada automaticamente uma pasta de scripts durante a instalação do agente onde o sistema de ficheiros ou a base de dados que precisa de proteção está em execução. Tem de colocar os scripts nas seguintes pastas para os executar:
- Para anfitriões do Windows:
\Program Files\Google Cloud Backup and DR\scripts
- Para o anfitrião Linux:
/act/scripts
e defina o script como executável (chmod 755 *.sh)
Fases do script
Os scripts são executados nas seguintes fases. Se o seu script não estiver a ser executado, verifique se está na pasta de scripts.
- INIT: esta fase começa quando o dispositivo de cópia de segurança/recuperação se liga ao agente. Nesta fase, a tarefa é inicializada e as credenciais são validadas.
- PRE: esta fase começa imediatamente antes da operação principal da tarefa. Para as imagens instantâneas, esta fase começa antes de a aplicação ser congelada. Para tarefas do tipo de montagem, isto ocorre depois de os dispositivos serem mapeados para o anfitrião, mas antes de serem iniciadas operações baseadas em agentes, como a nova análise, a importação e a montagem de sistemas de ficheiros.
- POST: esta fase começa imediatamente após a conclusão da operação principal da tarefa. Para tarefas do tipo de cópia de segurança, isto ocorre depois de a aplicação ser descongelada. Para tarefas do tipo de montagem, esta fase começa depois de todas as operações de importação, montagem ou colocação de aplicações online estarem concluídas.
- FINAL: esta fase é o fim da tarefa. A menos que o script devolva um código diferente de zero que faça com que a tarefa falhe, a tarefa é concluída.
- ABORT: esta fase processa tarefas anuladas quando falham.
Exemplo: scripts
O exemplo seguinte mostra como executar um script do lado do anfitrião em várias fases do processo da tarefa de cópia de segurança. Tem cinco scripts que produzem a data ou a hora, o nome da app (nome do sistema de ficheiros ou da base de dados), o tipo de tarefa, o nome da tarefa, o valor de retenção de registos em dias e o texto para indicar a fase da tarefa de cópia de segurança que está a ser processada.
```sh
$ cat /act/scripts/init.sh
#!/bin/sh
if [ "${ACT_JOBTYPE}" = "logbackup" ]; then
echo `date` "${ACT_JOBNAME}_${ACT_APPNAME}_ARCHIVELOG_BACKUP JobPhase:INIT" >> /tmp/backup_status.log
else
echo `date` "${ACT_JOBNAME}_${ACT_APPNAME}_INCREMENTAL_BACKUP JobPhase:INIT" >> /tmp/backup_status.log
fi
$ cat /act/scripts/pre.sh
#!/bin/sh
if [ "${ACT_JOBTYPE}" = "logbackup" ]; then
echo `date` "${ACT_JOBNAME}_${ACT_APPNAME}_ARCHIVELOG_BACKUP JobPhase:PRE" >> /tmp/backup_status.log
else
echo `date` "${ACT_JOBNAME}_${ACT_APPNAME}_INCREMENTAL_BACKUP JobPhase:PRE" >> /tmp/backup_status.log
fi
$ cat /act/scripts/post.sh
#!/bin/sh
if [ "${ACT_JOBTYPE}" = "logbackup" ]; then
echo `date` "${ACT_JOBNAME}_${ACT_APPNAME}_ARCHIVELOG_BACKUP JobPhase:POST" >> /tmp/backup_status.log
else
echo `date` "${ACT_JOBNAME}_${ACT_APPNAME}_INCREMENTAL_BACKUP JobPhase:POST" >> /tmp/backup_status.log
fi
$ cat /act/scripts/fini.sh
#!/bin/sh
if [ "${ACT_JOBTYPE}" = "logbackup" ]; then
echo `date` "${ACT_JOBNAME}_${ACT_APPNAME}_ARCHIVELOG_BACKUP JobPhase:FINAL" >> /tmp/backup_status.log
else
echo `date` "${ACT_JOBNAME}_${ACT_APPNAME}_INCREMENTAL_BACKUP JobPhase:FINAL" >> /tmp/backup_status.log
fi
$ cat /act/scripts/abort.sh
#!/bin/sh
if [ "${ACT_JOBTYPE}" = "logbackup" ]; then
echo `date` "${ACT_JOBNAME}_${ACT_APPNAME}_ARCHIVELOG_BACKUP JobPhase:ABORT" >> /tmp/backup_status.log
else
echo `date` "${ACT_JOBNAME}_${ACT_APPNAME}_INCREMENTAL_BACKUP JobPhase:ABORT" >> /tmp/backup_status.log
fi
```
No exemplo anterior, ACT_JOBTYPE = logbackup
indica que a tarefa que está a ser executada é uma tarefa de cópia de segurança do registo e não uma tarefa de cópia de segurança completa da base de dados.
Pode não ter de executar todas as cinco fases para alcançar a saída de registo escolhida. Só pode usar as fases init e final para indicar o início e o fim do processo de cópia de segurança.
Também pode personalizar os scripts para realizar outras tarefas, como parar um serviço ou executar outros comandos.
Adicione scripts a um modelo de cópia de segurança
Siga as instruções abaixo para adicionar os scripts a um modelo de cópia de segurança.
- Clique em Planos de contingência e selecione Modelos na lista pendente.
- Selecione um modelo que inclua uma política OnVault. A página Modelos é aberta com o modelo de cópia de segurança selecionado.
- Na área Políticas da página Modelos, clique em +Adicionar junto a Instantâneo.
- Clique em Definições avançadas de políticas.
Desloque a página até Nome do script e, em seguida, copie e cole o seguinte script:
path=init.sh:phase=init;path=pre.sh:phase=pre;path=post.sh:phase=post;path=fini.sh:phase=final:timeout=300;path=abort.sh:phase=abort
Clique em Guardar alterações.
-
O resultado é apresentado para duas bases de dados diferentes. Um é uma tarefa de cópia de segurança de registos e o outro é um resumo incremental.
$ cat /tmp/backup_status.log Wed Nov 22 06:11:49 UTC 2023 Job_0275501_ORCLCDB_ARCHIVELOG_BACKUP JobPhase:INIT Wed Nov 22 06:13:52 UTC 2023 Job_0275501_ORCLCDB_ARCHIVELOG_BACKUP JobPhase:PRE Wed Nov 22 06:15:01 UTC 2023 Job_0275501_ORCLCDB_ARCHIVELOG_BACKUP JobPhase:POST Wed Nov 22 06:15:01 UTC 2023 Job_0275501_ORCLCDB_ARCHIVELOG_BACKUP JobPhase:FINAL Wed Nov 22 06:18:00 UTC 2023 Job_0275637_SMALL_INCREMENTAL_BACKUP JobPhase:INIT Wed Nov 22 06:20:15 UTC 2023 Job_0275637_SMALL_INCREMENTAL_BACKUP JobPhase:PRE Wed Nov 22 06:22:06 UTC 2023 Job_0275637_SMALL_INCREMENTAL_BACKUP JobPhase:POST Wed Nov 22 06:22:06 UTC 2023 Job_0275637_SMALL_INCREMENTAL_BACKUP JobPhase:FINAL
Transmitir variáveis de ambiente para um ficheiro de registo
Pode exportar as informações do ambiente da tarefa para o script através das variáveis de ambiente na seguinte lista com o prefixo ACT_
.
Nem todas as variáveis de ambiente são aplicáveis a todos os tipos de tarefas.
ACT_APPID
: o ID da base de dados da aplicação.ACT_APPNAME
: o nome da aplicação.ACT_HOSTNAME
: o nome do anfitrião que é o destino desta tarefa.ACT_JOBNAME
: o nome da tarefa.ACT_JOBTYPE
: uma versão de texto da classe de emprego.ACT_LOGSMART_TYPE
: o único valor válido é "db". Tem de estar presente para que os registos da base de dados sejam captados.ACT_OPTIONS
: as opções de políticas que se aplicam a este trabalhoACT_PHASE
: uma string de texto que descreve a fase do trabalho.ACT_POLICY
: o nome da política relacionada com esta tarefa.ACT_POLICYOPT_logbackupretention
: o número de dias de retenção para trabalhos de cópia de segurança de registos. Esta opção só aparece em tarefas de cópia de segurança de registos da base de dados.ACT_PROFILE
: o nome do perfil.ACT_SCRIPT_TMOUT
: o limite de tempo para a colocação em sobrescrito. Se a resposta não for recebida dentro do valor de limite de tempo (predefinição de 60 segundos), o script falha.ACT_SOURCEHOST
: o nome do anfitrião que foi a origem desta aplicação.ACT_TEMPLATE
: o nome do modelo relacionado com o trabalho.ACT_TIMEOUT
: a duração definida do guião, em segundos. Se o script não for concluído dentro do período de limite de tempo, a tarefa falha.ACT_VOLUMES
: para aplicações genéricas, a lista de volumes configurados para a cópia de segurança. Se precisar de ajuda para saber as variáveis de ambiente possíveis que pode usar, adicione esta linha ao seu script.echo printenv >> /tmp/backup_status.log