Secuencias de comandos personalizadas

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