Secuencias de comandos a una plantilla de copia de seguridad

En esta página, se explica cómo agregar secuencias de comandos a una plantilla de copia de seguridad. Describe las diferentes fases que ejecuta una secuencia de comandos durante una tarea de copia de seguridad.

Puedes escribir tus secuencias de comandos y ejecutarlas para realizar una acción al comienzo de una tarea de copia de seguridad, durante ella o después de que se complete. También se los conoce como secuencias de comandos previas y posteriores.

Ubicación de las secuencias de comandos

Se crea automáticamente una carpeta de secuencia de comandos durante la instalación del agente en la que se ejecuta el sistema de archivos o la base de datos que necesita protección. Para ejecutarlas, debes colocar las secuencias de comandos en las siguientes carpetas:

  • Para el host de Windows: \Program Files\Google Cloud Backup and DR\scripts
  • Para el host de Linux: /act/scripts y establece la secuencia de comandos como ejecutable (chmod 755 *.sh).

Fases de la secuencia de comandos

Las secuencias de comandos se ejecutan en las siguientes fases. Si la secuencia de comandos no se ejecuta, verifica si está en la carpeta de secuencias de comandos.

  • INIT: Esta fase comienza cuando el dispositivo de copia de seguridad o recuperación se conecta al agente. En esta fase, se inicializa la tarea y se verifican las credenciales.
  • PRE: Esta fase comienza justo antes de la operación principal del trabajo. En el caso de las instantáneas, esta fase comienza antes de que se congele la aplicación. En el caso de las tareas de activación, esto se realiza después de que los dispositivos se asignan al host, pero antes de que se inicien las operaciones basadas en agentes, como el nuevo análisis, la importación y la activación de sistemas de archivos.
  • POST: Esta fase comienza inmediatamente después de que se completa la operación principal del trabajo. En el caso de los trabajos de tipo de copia de seguridad, esto ocurre después de que se descongela la aplicación. En el caso de los trabajos de tipo de activación, esta fase comienza después de que se completan todas las operaciones de importación, activación o activación de aplicaciones en línea.
  • FINAL: Esta fase es el final del trabajo. A menos que la secuencia de comandos muestre un código distinto de cero que haga que la tarea falle, la tarea se completa.
  • ABORT: Esta fase controla las tareas abortadas cuando fallan.

Ejemplo: secuencias de comandos

En el siguiente ejemplo, se muestra cómo ejecutar una secuencia de comandos del host en varias fases del proceso de trabajo de copia de seguridad. Tiene cinco secuencias de comandos que muestran la fecha o la hora, el nombre de la app (nombre del sistema de archivos o de la base de datos), el tipo de trabajo, el nombre del trabajo, el valor de retención de registros en días y el texto para indicar la fase del trabajo de copia de seguridad que se está procesando.

    ```sh
    $ cat /act/scripts/init.sh
        #!/bin/sh
        if [ "${ACT_JOBTYPE}" = "logbackup" ]; then
          echo `date` "${ACT_JOBNAME}_${ACT_APPNAME}_ARCHIVELOG_BACKUP JobPhase:INIT" >> /tmp/backup_status.log
        else
          echo `date` "${ACT_JOBNAME}_${ACT_APPNAME}_INCREMENTAL_BACKUP JobPhase:INIT" >> /tmp/backup_status.log
        fi

        $ cat /act/scripts/pre.sh
        #!/bin/sh
        if [ "${ACT_JOBTYPE}" = "logbackup" ]; then
          echo `date` "${ACT_JOBNAME}_${ACT_APPNAME}_ARCHIVELOG_BACKUP JobPhase:PRE" >> /tmp/backup_status.log
        else
          echo `date` "${ACT_JOBNAME}_${ACT_APPNAME}_INCREMENTAL_BACKUP JobPhase:PRE" >> /tmp/backup_status.log
        fi

        $ cat /act/scripts/post.sh
        #!/bin/sh
        if [ "${ACT_JOBTYPE}" = "logbackup" ]; then
          echo `date` "${ACT_JOBNAME}_${ACT_APPNAME}_ARCHIVELOG_BACKUP JobPhase:POST" >> /tmp/backup_status.log
        else
          echo `date` "${ACT_JOBNAME}_${ACT_APPNAME}_INCREMENTAL_BACKUP JobPhase:POST" >> /tmp/backup_status.log
        fi

        $ cat /act/scripts/fini.sh
        #!/bin/sh
        if [ "${ACT_JOBTYPE}" = "logbackup" ]; then
          echo `date` "${ACT_JOBNAME}_${ACT_APPNAME}_ARCHIVELOG_BACKUP JobPhase:FINAL" >> /tmp/backup_status.log
        else
          echo `date` "${ACT_JOBNAME}_${ACT_APPNAME}_INCREMENTAL_BACKUP JobPhase:FINAL" >> /tmp/backup_status.log
        fi

        $ cat /act/scripts/abort.sh
        #!/bin/sh
        if [ "${ACT_JOBTYPE}" = "logbackup" ]; then
          echo `date` "${ACT_JOBNAME}_${ACT_APPNAME}_ARCHIVELOG_BACKUP JobPhase:ABORT" >> /tmp/backup_status.log
        else
          echo `date` "${ACT_JOBNAME}_${ACT_APPNAME}_INCREMENTAL_BACKUP JobPhase:ABORT" >> /tmp/backup_status.log
        fi
        ```

En el ejemplo anterior, ACT_JOBTYPE = logbackup indica que la tarea que se está ejecutando es una tarea de copia de seguridad de registro, en lugar de una tarea de copia de seguridad completa de la base de datos.

Es posible que no debas ejecutar las cinco fases para obtener el resultado de registro que elegiste. Puedes usar solo las fases de inicialización y final para indicar el inicio y el final del proceso de copia de seguridad.

También puedes personalizar las secuencias de comandos para realizar otras tareas, como detener un servicio o ejecutar otros comandos.

Agrega secuencias de comandos a una plantilla de copia de seguridad

Usa las siguientes instrucciones para agregar las secuencias de comandos a una plantilla de copia de seguridad.

  1. Haz clic en Planes de copia de seguridad y selecciona Plantillas en la lista desplegable.
  2. Selecciona una plantilla que incluya una política de OnVault. Se abrirá la página Plantillas con la plantilla de copia de seguridad seleccionada.
  3. En el área Políticas de la página Plantillas, haz clic en + Agregar junto a Instantánea.
  4. Haz clic en Configuración avanzada de la política.
  5. Desplázate hasta Nombre de la secuencia de comandos y, luego, copia y pega la siguiente secuencia de comandos:

    path=init.sh:phase=init;path=pre.sh:phase=pre;path=post.sh:phase=post;path=fini.sh:phase=final:timeout=300;path=abort.sh:phase=abort
    
  6. Haz clic en Save Changes.

  7. Ejecuta un trabajo a pedido.

    El resultado se muestra para dos bases de datos diferentes. Uno es un trabajo de copia de seguridad de registros y el otro es una instantánea incremental.

    $ cat /tmp/backup_status.log Wed Nov 22 06:11:49 UTC 2023 Job_0275501_ORCLCDB_ARCHIVELOG_BACKUP JobPhase:INIT Wed Nov 22 06:13:52 UTC 2023 Job_0275501_ORCLCDB_ARCHIVELOG_BACKUP JobPhase:PRE Wed Nov 22 06:15:01 UTC 2023 Job_0275501_ORCLCDB_ARCHIVELOG_BACKUP JobPhase:POST Wed Nov 22 06:15:01 UTC 2023 Job_0275501_ORCLCDB_ARCHIVELOG_BACKUP JobPhase:FINAL Wed Nov 22 06:18:00 UTC 2023 Job_0275637_SMALL_INCREMENTAL_BACKUP JobPhase:INIT Wed Nov 22 06:20:15 UTC 2023 Job_0275637_SMALL_INCREMENTAL_BACKUP JobPhase:PRE Wed Nov 22 06:22:06 UTC 2023 Job_0275637_SMALL_INCREMENTAL_BACKUP JobPhase:POST Wed Nov 22 06:22:06 UTC 2023 Job_0275637_SMALL_INCREMENTAL_BACKUP JobPhase:FINAL

Pasa variables de entorno a un archivo de registro

Puedes exportar la información del entorno del trabajo a la secuencia de comandos con las variables de entorno de la siguiente lista que tienen el prefijo ACT_. No todas las variables de entorno se aplicarán a todos los tipos de trabajos.

  • ACT_APPID: El ID de la base de datos de la aplicación.
  • ACT_APPNAME: Es el nombre de la aplicación.
  • ACT_HOSTNAME: Es el nombre del host que es el objetivo de este trabajo.
  • ACT_JOBNAME: Es el nombre del trabajo.
  • ACT_JOBTYPE: Es una versión de texto de la clase de trabajo.
  • ACT_LOGSMART_TYPE: El único valor válido es "db". Debe estar presente para que se capturen los registros de la base de datos.
  • ACT_OPTIONS: Las opciones de políticas que se aplican a este trabajo
  • ACT_PHASE: Es una cadena de texto que describe la fase del trabajo.
  • ACT_POLICY: Es el nombre de la política relacionada con este trabajo.
  • ACT_POLICYOPT_logbackupretention: Es la cantidad de días de retención para las tareas de copia de seguridad de registros. Solo aparece en los trabajos de copia de seguridad de registros de la base de datos.
  • ACT_PROFILE: Es el nombre del perfil.
  • ACT_SCRIPT_TMOUT: Es el tiempo de espera de la superescritura. Si no se recibe la respuesta dentro del valor de tiempo de espera (60 segundos de forma predeterminada), la secuencia de comandos fallará.
  • ACT_SOURCEHOST: Es el nombre del host que fue la fuente de esta aplicación.
  • ACT_TEMPLATE: Es el nombre de la plantilla relacionada con el trabajo.
  • ACT_TIMEOUT: Es la duración definida de la secuencia de comandos, en segundos. Si la secuencia de comandos no se completa dentro del tiempo de espera, la tarea fallará.
  • ACT_VOLUMES: Para aplicaciones genéricas, es la lista de volúmenes que se configuraron para la copia de seguridad. Si necesitas ayuda para conocer las posibles variables de entorno que puedes usar, agrega esta línea a tu secuencia de comandos.

    echo printenv >> /tmp/backup_status.log