Secuencias de comandos personalizadas

Cuando definas un flujo de trabajo de LiveClone Backup and DR que realice un pre-scrubbing, puedes elegir entre el enmascaramiento de datos de privacidad de Optim o scripts personalizados.

En el caso de las secuencias de comandos personalizadas, especifique al menos una secuencia de comandos de preprocesamiento o de posprocesamiento.

  • Especifica un pre-script si es necesario. La secuencia de comandos previa se usa para configurar el entorno antes de montar o desmontar la aplicación. Esta secuencia de comandos debe estar en una carpeta llamada /act/scripts en el servidor que aloja la imagen montada.
  • En el campo Tiempo de espera en segundos correspondiente, especifica el tiempo que necesita la secuencia de comandos para completarse.
  • Especifica un post-script si es necesario. La post-secuencia de comandos que se usa para realizar una operación en los datos después de que se monten o desmonten. Esta secuencia de comandos debe estar en una carpeta llamada /act/scripts en el servidor que aloja la imagen montada.
  • En el campo Tiempo de espera en segundos correspondiente, especifica el tiempo que necesita la secuencia de comandos para completarse.

Secuencias de comandos previas y posteriores al flujo de trabajo de copia de seguridad y recuperación tras fallos

Los flujos de trabajo de copia de seguridad y recuperación tras fallos montan y desmontan imágenes de copia de seguridad según una programación o bajo demanda. En un flujo de trabajo de copia de seguridad y recuperación tras fallos, puedes llamar a lo siguiente:

  • Una secuencia de comandos previa que se ejecuta antes de que se monte o desmonte una imagen
  • Una secuencia de comandos posterior que se ejecuta después de montar o desmontar una imagen

La posibilidad de ejecutar una secuencia de comandos antes y después de que se monte o desmonte un volumen de datos te permite hacer lo siguiente:

  • Eliminar información sensible
  • Generar informes
  • Almacenar datos, especialmente para operaciones de extracción, transformación y carga (ETL)

Las secuencias de comandos deben estar en una carpeta llamada /act/scripts en el servidor que aloja la imagen montada del flujo de trabajo de copia de seguridad y recuperación tras fallos.

Variables de entorno

Las variables de entorno te permiten invocar comandos que se aplican a trabajos, tipos de trabajo o aplicaciones específicos. Las variables de entorno tienen el prefijo ACT_. Por ejemplo, una variable de entorno de una base de datos podría tener este aspecto:

    [$ACT_APPNAME =="productiondb"]

o una variable de entorno para una operación de montaje podría tener el siguiente aspecto:

    [$ACT_JOBTYPE == "mount"]

A continuación, se muestra una lista de variables de entorno habituales con valores de ejemplo:

  • JOBNAME el nombre del trabajo (por ejemplo, Job_0123456).
  • APPID: el ID de la aplicación (por ejemplo, 4186).
  • APPNAME: nombre de la aplicación (por ejemplo, My-DB).
  • HOSTNAME: el nombre del host de destino de este trabajo. Por ejemplo, Jupiter.
  • SOURCEHOST: el nombre del host que fue la fuente de esta aplicación (por ejemplo, Saturn).
  • JOBTYPE: una versión de texto de la clase de trabajo. Por ejemplo, montar o desmontar.
  • PHASE una cadena de texto que describe la fase del trabajo (por ejemplo, antes o después).
  • TIMEOUT: define la duración de la secuencia de comandos, es decir, el tiempo que se le permite ejecutarse.
  • OPTIONS: opciones de política que se aplican a este trabajo.

Secuencia de comandos de ejemplo

En el siguiente ejemplo de secuencia de comandos se usan tres variables de entorno:

  • ACT_JOBTYPE identifica si el trabajo es una operación de montaje o desmontaje.
  • ACT_PHASE identifica si la fase es anterior o posterior.
  • ACT_MULTI_END: se usa solo si se monta una base de datos y su registro. Si es así, la base de datos se encuentra 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 $?
    ```