SnapManager Oracle
Se proporciona el idioma español mediante traducción automática para su comodidad. En caso de alguna inconsistencia, el inglés precede al español.

Crear scripts de tareas previas, tareas posteriores y directivas

Colaboradores

SnapManager le permite crear los scripts para la actividad de procesamiento previo, la actividad de procesamiento posterior y las tareas de políticas de las operaciones de backup, restauración y clonado. Debe colocar los scripts en el directorio de instalación correcto para ejecutar la actividad de preprocesamiento, la actividad de posprocesamiento y las tareas de política de la operación de SnapManager.

Contenido de secuencias de comandos de tareas previas y posteriores

Todos los scripts deben incluir lo siguiente:

  • Operaciones específicas (comprobación, descripción y ejecución)

  • (Opcional) variables de entorno predefinidas

  • Código de manejo de errores específico (código de retorno (rc))

Nota Debe incluir el código de gestión de errores correcto para validar el script.

Puede utilizar los scripts de tareas previas para muchos fines, por ejemplo, limpiar un espacio en disco antes de que se inicie la operación SnapManager. También puede utilizar los scripts posteriores a la tarea, por ejemplo, para calcular si SnapManager tiene espacio en disco suficiente para completar la operación.

Contenido de secuencias de comandos de tareas de directiva

Puede ejecutar el script de directivas sin utilizar operaciones específicas como comprobar, describir y ejecutar. El script incluye las variables de entorno predefinidas (opcionales) y el código de gestión de errores específico.

El script de política se ejecuta antes de las operaciones de backup, restauración y clonado.

Formato admitido

Se puede usar un archivo de script de shell con extensión .sh como script previo y posterior.

Guía de instalación de script

El directorio en el que se instala la secuencia de comandos afecta al modo en que se utiliza. Es posible colocar los scripts en el directorio y ejecutar el script antes o después de que se lleve a cabo la operación de backup, restauración o clonado. Debe colocar el script en el directorio especificado en la tabla y utilizarlo de forma opcional al especificar la operación de backup, restauración o clonado.

Nota Debe asegurarse de que el directorio plugins tenga el permiso ejecutable antes de utilizar los scripts para la operación SnapManager.
Actividad Backup Restaurar Clonar

Preprocesamiento

<default_installation_directory>/plugins/backup/crear/pre

<default_installation_directory>/plugins/restore/create/pre

<default_installation_directory>/plugins/clone/create/pre

Procesamiento posterior

<default_installation_directory>/ plugins/backup/creación/publicación

<default_installation_directory>/plugins/restore/create/post

<default_installation_directory>/plugins/clone/create/post

Basado en políticas

<default_installation_directory>/plugins/backup/creación/política

<default_installation_directory>/plugins/restore/create/policy

<default_installation_directory>/plugins/clone/create/policy

Ubicación de secuencias de comandos de ejemplo

A continuación se muestran algunos ejemplos de los scripts de tareas previas y posteriores a las tareas para las operaciones de backup y clonado disponibles en la ruta de acceso del directorio de instalación:

  • <default_installation_directory>/plugins/ejemplos/backup/create/pre

  • <default_installation_directory>/plugins/ejemplos/backup/creación/publicación

  • <default_installation_directory>/plugins/ejemplos/clon/creación/previo

  • <default_installation_directory>/plugins/ejemplos/clon/creación/publicación

Qué puede cambiar en el script

Si crea un nuevo script, sólo puede cambiar las operaciones describir y ejecutar. Cada script debe contener las siguientes variables: Contexto, tiempo de espera y parámetro.

Las variables descritas en la función describir del script deben declararse al inicio del script. Puede agregar nuevos valores de parámetro en Parameter=() y utilizar los parámetros en la función EXECUTE.

Guión de muestra

A continuación se muestra un script de ejemplo con un código de retorno especificado por el usuario para calcular el espacio en el host SnapManager:

    #!/bin/bash
    # $Id: //depot/prod/capstan/main/src/plugins/unix/examples/backup/create/pre/disk_space_estimate.sh#5 $
    name="disk space estimation ($(basename $0))"
    description="pre tasks for estimating the space on the target system"
    context=
    timeout="0"
    parameter=()
    EXIT=0
    PRESERVE_DIR="/tmp/preserve/$(date +%Y%m%d%H%M%S)"
    function _exit {
       rc=$1
       echo "Command complete."
       exit $rc
    }
    function usage {
       echo "usage: $(basename $0) { -check | -describe | -execute }"
       _exit 99
    }
    function describe {
       echo "SM_PI_NAME:$name"
       echo "SM_PI_DESCRIPTION:$description"
       echo "SM_PI_CONTEXT:$context"
       echo "SM_PI_TIMEOUT:$timeout"
       IFS=^
       for entry in ${parameter[@]}; do
           echo "SM_PI_PARAMETER:$entry"
       done
       _exit 0
    }
    function check {
       _exit 0
    }
    function execute {
       echo "estimating the space on the target system"
       # Shell script to monitor or watch the disk space
       # It will display alert message, if the (free available) percentage
       # of space is >= 90%
       # ----------------------------------------------------------------------
       # Linux shell script to watch disk space (should work on other UNIX oses )
       # set alert level 90% is default
       ALERT=90
       df -H | grep -vE '^Filesystem|tmpfs|cdrom' | awk '{ print $5 " " $1 }' | while read output;
       do
         #echo $output
         usep=$(echo $output | awk '{ print $1}' | cut -d'%' -f1  )
         partition=$(echo $output | awk '{ print $2 }' )
       if [ $usep -ge $ALERT ]; then
           echo "Running out of space \"$partition ($usep%)\" on $(hostname) as on $(date)" |
       fi
       done
      _exit 0
     }
    function preserve {
        [ $# -ne 2 ] && return 1
        file=$1
        save=$(echo ${2:0:1} | tr [a-z] [A-Z])
        [ "$save" == "Y" ] || return 0
        if [ ! -d "$PRESERVE_DIR" ] ; then
           mkdir -p "$PRESERVE_DIR"
           if [ $? -ne 0 ] ; then
               echo "could not create directory [$PRESERVE_DIR]"
               return 1
           fi
        fi
        if [ -e "$file" ] ; then
            mv "$file" "$PRESERVE_DIR/."
        fi
        return $?
    }
    case $(echo $1 | tr [A-Z] [a-z]) in
        -check)    check
                  ;;
        -execute)  execute
                  ;;
        -describe) describe
                  ;;
     *)         echo "unknown option $1"
              usage
              ;;
     esac