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 un script durante un trabajo de copia de seguridad.
Puedes escribir tus secuencias de comandos y ejecutarlas para realizar una acción al comienzo de un trabajo de copia de seguridad, durante este o después de que se complete. También se denominan secuencias de comandos previas y posteriores.
Ubicación de las secuencias de comandos
Durante la instalación del agente, se crea automáticamente una carpeta de secuencias de comandos en la que se ejecuta el sistema de archivos o la base de datos que necesita protección. Para ejecutar las secuencias de comandos, debes colocarlas en las siguientes carpetas:
- Para hosts de Windows:
\Program Files\Google Cloud Backup and DR\scripts - Para el host de Linux:
/act/scriptsy configura 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 tu 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 el trabajo 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 los trabajos de tipo de montaje, esto ocurre después de que los dispositivos se asignan al host, pero antes de que se inicien las operaciones basadas en el agente, como el nuevo análisis, la importación y el montaje 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 copia de seguridad, esto ocurre después de que se descongela la aplicación. En el caso de los trabajos de tipo activación, esta fase comienza después de que se completan todas las operaciones de importación, activación o puesta en línea de aplicaciones.
- FINAL: Esta fase es el final del trabajo. A menos que la secuencia de comandos devuelva un código distinto de cero que provoque que el trabajo falle, el trabajo se completará.
- ABORT: Esta fase controla los trabajos anulados 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 del trabajo de copia de seguridad. Tiene cinco secuencias de comandos que generan 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 el trabajo que se está ejecutando es una tarea de copia de seguridad de registros, en lugar de una tarea de copia de seguridad completa de la base de datos.
Es posible que no necesites ejecutar las cinco fases para obtener el resultado de registro que elegiste. Solo puedes usar las fases init 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
Sigue estas instrucciones para agregar las secuencias de comandos a una plantilla de copia de seguridad.
- Haz clic en Planes de copias de seguridad y selecciona Plantillas en la lista desplegable.
- Selecciona una plantilla que incluya una política de OnVault. Se abrirá la página Plantillas con la plantilla de copia de seguridad seleccionada.
- En el área Políticas de la página Plantillas, haz clic en +Agregar junto a Instantánea.
- Haz clic en Configuración avanzada de política.
Desplázate hasta Script Name 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=abortHaz clic en Guardar cambios.
-
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
Cómo pasar 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: Es el ID de 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 destino 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". Este campo debe estar presente para que se capturen los registros de la base de datos.ACT_OPTIONS: Son las opciones de política 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 los trabajos de copia de seguridad de registros. Solo aparece en los trabajos de copia de seguridad de registros de bases de datos.ACT_PROFILE: Es el nombre del perfil.ACT_SCRIPT_TMOUT: Es el tiempo de espera para el superíndice. 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 período de tiempo de espera, el trabajo fallará.ACT_VOLUMES: Para aplicaciones genéricas, es la lista de volúmenes configurados 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