Cuando definas un flujo de trabajo de copia de seguridad y DR de LiveClone que realice la limpieza previa, puedes seleccionar entre el enmascaramiento de datos de privacidad de Optim o las secuencias de comandos personalizadas.
En el caso de las secuencias de comandos personalizadas, especifica al menos una secuencia de comandos de procesamiento previo o posterior.
- Especifica una secuencia de comandos previa según sea necesario. La secuencia de comandos previa se usa para configurar el
ambiente antes de activar o desactivar la aplicación. Esta secuencia de comandos debe residir en una carpeta llamada
/act/scripts
en el servidor que aloja la imagen montada. - En el campo Timeout in Seconds correspondiente, especifica el tiempo que se necesita para que se complete la secuencia de comandos.
- Especifica una secuencia de comandos posterior según sea necesario. Es la secuencia de comandos posterior que se usa para realizar una operación en los datos después de que se activan o desactivan. Esta secuencia de comandos debe residir en una carpeta llamada
/act/scripts
en el servidor que aloja la imagen montada. - En el campo Timeout in Seconds correspondiente, especifica el tiempo que se necesita para que se complete la secuencia de comandos.
Secuencias de comandos previas y posteriores del flujo de trabajo de Backup and DR
Los flujos de trabajo de Backup and DR activan y desactivan las imágenes de copia de seguridad según un programa o a pedido. En un flujo de trabajo de Backup and DR, puedes llamar a lo siguiente:
- Una secuencia de comandos previa que se ejecuta antes de que se monte o desmonte una imagen
- Es una secuencia de comandos posterior que se ejecuta después de que se activa o desactiva una imagen.
La capacidad de ejecutar una secuencia de comandos antes y después de que se monten o desmonten los datos te permite hacer lo siguiente:
- Limpia la información sensible
- Genera informes
- Datos del almacén, en especial para las operaciones de extracción, transformación y carga (ETL)
Las secuencias de comandos deben residir en una carpeta llamada /act/scripts
en el servidor que aloja la imagen del flujo de trabajo de copia de seguridad y DR montada.
Variables de entorno
Las variables de entorno te permiten invocar comandos que se aplican a trabajos, tipos de trabajos o aplicaciones específicos. Las variables de entorno tienen el prefijo ACT_
. Por ejemplo, una variable de entorno para una base de datos podría verse de la siguiente manera:
[$ACT_APPNAME =="productiondb"]
o una variable de entorno para una operación de activación podría tener el siguiente aspecto:
[$ACT_JOBTYPE == "mount"]
La siguiente es una lista de variables de entorno comunes con valores de muestra:
- JOBNAME: Es el nombre del trabajo, por ejemplo, Job_0123456.
- APPID: Es el ID de la aplicación, por ejemplo, 4186.
- APPNAME: Es el nombre de la aplicación, por ejemplo, My-DB.
- HOSTNAME: Es el nombre del host que es el objetivo de este trabajo, por ejemplo, Jupiter.
- SOURCEHOST: Es el nombre del host que fue la fuente de esta aplicación, por ejemplo, Saturn.
- JOBTYPE: Es una versión de texto de la clase de trabajo, por ejemplo, activar o desactivar.
- PHASE: Es una cadena de texto que describe la fase del trabajo, por ejemplo, pre o post.
- TIMEOUT: Define la duración de la secuencia de comandos, es decir, durante cuánto tiempo puede ejecutarse.
- OPTIONS: Son las opciones de políticas que se aplican a este trabajo.
Guion de ejemplo
En el siguiente ejemplo de secuencia de comandos, se usan tres variables de entorno:
- ACT_JOBTYPE: Identifica si la tarea es una operación de activación o desactivación.
- ACT_PHASE: Identifica si la fase es previa o posterior.
ACT_MULTI_END: Se usa solo si se activan una base de datos y su registro. Cuando esto es verdadero, la base de datos está en un estado en el que se puede acceder a ella.
```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 $? ```