Scripts previos y posteriores
Es posible usar scripts previos y posteriores como parte de las operaciones de protección de datos. Estos scripts permiten la automatización antes o después del trabajo de protección de datos. Por ejemplo, se puede incluir un script para notificar automáticamente si hay fallos o advertencias en un trabajo de protección de datos. Para configurar scripts previos y posteriores, es necesario comprender algunos de los requisitos para crearlos.
Tipos de scripts compatibles
Se admiten scripts Perl y shell. Los scripts de shell deben empezar por !/bin/bash
. (!/bin/sh
no es compatible).
Ubicación de la ruta del script
El plugin de SnapCenter para VMware vSphere ejecuta los scripts previos y posteriores. Por lo tanto, los scripts deben encontrarse en el OVA del plugin de SnapCenter para VMware vSphere, con permisos ejecutables.
Por ejemplo: * Una ruta de acceso de script PERL puede ser /support/support/script.pl
* Puede ser Una ruta de acceso de script de shell /support/support/script.sh
La ruta de acceso del script se valida en el momento en que se ejecuta el script.
Dónde especificar scripts
Los scripts se especifican en las políticas de backup. Cuando se inicia una tarea de backup, la política asocia automáticamente el script con los recursos que se incluirán en el backup.
Para especificar varios scripts, presione Enter después de cada ruta de script para enumerar cada script en una línea diferente. No se admite el uso de punto y coma (;). Es posible especificar varios scripts previos y posteriores. Un script individual se puede codificar como script previo y script posterior, y puede llamar a otros scripts.
Cuándo se ejecutan los scripts
Los scripts se ejecutan según el valor configurado para BACKUP_PHASE.
-
BACKUP_PHASE=PRE_BACKUP
Los scripts previos se ejecutan en la fase PRE_BACKUP de la operación.
Si el script previo falla, el backup se completa correctamente y se envía un mensaje de advertencia. |
-
BACKUP_PHASE=POST_BACKUP O BACKUP_PHASE=FAILED_BACKUP
Los scripts posteriores se ejecutan en la fase POST_BACKUP de la operación, una vez que el backup se completa correctamente, o en la fase FAILED_BACKUP si no fue posible completar el backup.
Si el script posterior falla, el backup se completa correctamente y se envía un mensaje de advertencia. |
Compruebe lo siguiente para verificar que los valores del script se rellenan: * Para scripts PERL: * Para scripts /support/support/log_env.log
de shell: /support/support/log_file.log
Variables de entorno que se transmiten a los scripts
Es posible usar las variables de entorno que se muestran en la siguiente tabla en los scripts.
Variable de entorno | Descripción |
---|---|
|
Nombre del backup. Variable que se incluye solo en los scripts posteriores. |
|
Fecha del backup, con el formato |
|
Hora del backup, con el formato |
|
La fase del backup donde se desea ejecutar el script. Los valores válidos son |
|
La cantidad de snapshots de almacenamiento del backup. Variable que se incluye solo en los scripts posteriores. |
|
Una de las snapshots de almacenamiento definidas, con el siguiente formato: |
|
La cantidad de máquinas virtuales del backup. Variable que se incluye en scripts previos y posteriores. |
|
Una de las máquinas virtuales definidas, con el siguiente formato |
Tiempo de espera de scripts
El tiempo de espera de los scripts de backup es de 15 minutos y no puede modificarse.
Ejemplo de script PERL #1
El siguiente ejemplo de script PERL imprime las variables de entorno cuando se ejecuta una copia de seguridad.
#!/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);
Ejemplo de script PERL #2
En el siguiente ejemplo se imprime información acerca de la copia de seguridad.
#!/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);
Ejemplo de script de shell
===============================================
#!/bin/bash
echo Stage $BACKUP_NAME >> /support/support/log_file.log
env >> /support/support/log_file.log
===============================================