Prescrições e posfácios
Você pode usar prescrições e pós-escritos personalizados como parte de suas operações de proteção de dados. Esses scripts permitem a automação antes ou depois do seu trabalho de proteção de dados. Por exemplo, você pode incluir um script que o notifique automaticamente sobre falhas ou avisos de tarefas de proteção de dados. Antes de configurar suas prescrições e posfácios, você deve entender alguns dos requisitos para criar esses scripts.
Tipos de script suportados
Scripts Perl e shell são suportados. Os scripts de shell devem começar com !/bin/bash
. (!/bin/sh
não é suportado.)
Localização do caminho do script
Prescrições e pós-escritos são executados pelo SnapCenter Plug-in for VMware vSphere. Portanto, os scripts devem estar localizados no SnapCenter Plug-in for VMware vSphere OVA, com permissões executáveis.
Por exemplo: * Um caminho de script PERL pode ser /support/support/script.pl
* Um caminho de script de shell pode ser /support/support/script.sh
O caminho do script é validado no momento em que o script é executado.
Onde especificar scripts
Os scripts são especificados em políticas de backup. Quando uma tarefa de backup é iniciada, a política associa automaticamente o script aos recursos que estão sendo copiados.
Para especificar vários scripts, pressione Enter após cada caminho de script para listar cada script em uma linha separada. Ponto e vírgula (;) não são permitidos. Você pode especificar várias prescrições e vários pós-escritos. Um único script pode ser codificado como uma prescrição e um pós-escrito e pode chamar outros scripts.
Quando os scripts são executados
Os scripts são executados de acordo com o valor definido para BACKUP_PHASE.
-
FASE_DE_BACKUP=PRÉ_BACKUP
As prescrições são executadas na fase PRE_BACKUP da operação.
|
Se uma prescrição falhar, o backup será concluído com sucesso e uma mensagem de aviso será enviada. |
-
FASE_DE_BACKUP=PÓS_BACKUP ou FASE_DE_BACKUP=FALHA_DE_BACKUP
Os postscripts são executados na fase POST_BACKUP da operação após o backup ser concluído com sucesso ou na fase FAILED_BACKUP se o backup não for concluído com sucesso.
|
Se um postscript falhar, o backup será concluído com sucesso e uma mensagem de aviso será enviada. |
Verifique o seguinte para verificar se os valores do script estão preenchidos: * Para scripts PERL: /support/support/log_env.log
* Para scripts de shell: /support/support/log_file.log
Variáveis de ambiente passadas para scripts
Você pode usar as variáveis de ambiente mostradas na tabela a seguir em scripts.
Variável de ambiente | Descrição |
---|---|
|
Nome do backup. Variável passada somente em postscripts. |
|
Data do backup, no formato |
|
Hora do backup, no formato |
|
A fase do backup na qual você deseja que o script seja executado. Os valores válidos são: |
|
O número de instantâneos de armazenamento no backup. Variável passada somente em postscripts. |
|
Um dos instantâneos de armazenamento definidos, no seguinte formato: |
|
O número de VMs no backup. Variável passada em prescrições e pós-escritos. |
|
Uma das máquinas virtuais definidas, no seguinte formato: |
Tempo limite de script
O tempo limite para scripts de backup é de 15 minutos e não pode ser modificado.
Exemplo de script PERL #1
O exemplo de script PERL a seguir imprime as variáveis de ambiente quando um backup é executado.
#!/usr/bin/perl
use warnings;
use strict;
my $argnum;
my $logfile = '/support/support/log_env.log';
open (FH, '>>', $logfile) or die $!;
foreach (sort keys %ENV) {
print FH "$_ = $ENV{$_}\n";
}
print FH "=========\n";
close (FH);
Exemplo de script PERL #2
O exemplo a seguir imprime informações sobre o backup.
#!/usr/bin/perl
use warnings;
use strict;
my $argnum;
my $logfile = '/support/support/log_env.log';
open (FH, '>>', $logfile) or die $!;
print FH "BACKUP_PHASE is $ENV{'BACKUP_PHASE'}\n";
print FH "Backup name $ENV{'BACKUP_NAME'}\n";
print FH "Virtual Machine $ENV{'VIRTUAL_MACHINES'}\n";
print FH "VIRTUAL_MACHINE # is $ENV{'VIRTUAL_MACHINE.1'}\n";
print FH "BACKUP_DATE is $ENV{'BACKUP_DATE'}\n";
print FH "BACKUP_TIME is $ENV{'BACKUP_TIME'}\n";
print FH "STORAGE_SNAPSHOTS is $ENV{'STORAGE_SNAPSHOTS'}\n";
print FH "STORAGE_SNAPSHOT # is $ENV{'STORAGE_SNAPSHOT.1'}\n";
print FH "PWD is $ENV{'PWD'}\n";
print FH "INVOCATION_ID is $ENV{'INVOCATION_ID'}\n";
print FH "=========\n";
close (FH);
Exemplo de script de shell
===============================================
#!/bin/bash
echo Stage $BACKUP_NAME >> /support/support/log_file.log
env >> /support/support/log_file.log
===============================================