#!/bin/bash #___________________________________________________________________ # # RESTAURAR IMAGEN INCREMENTAL #___________________________________________________________________ # # Parámetros recibidos desde el cliente: # # $1 Número de disco # $2 Número de particion # $3 Nombre canónico de la imagen básica (sin extensión) # $4 Dirección del repositorio # $5 Nombre canónico del software incremental (sin extensión) # $6 Tipo de transmisión 0=Unicast 1=Multicast # $7 Es una cadena "nnn" tipo flags que codifica varios parametros. # Tiene el formato "nnn" donde "n" vale 0 ó 1. # 1XX: Gestionar fichero completo en lugar de diferencas # X1X: Eliminar archivos de la partición que no estén en la imagen # XX1: Comprimir archivos para enviarlos por la red # El valor X indica que no importa el valor que tenga el dato # $8 Es una cadena "nnnn" tipo flags que codifica varios parametros. # Tiene el formato "nnnn" donde "n" vale 0 ó 1. # 1XXX: Borrar la particion de destino antes de restaurar la imagen basica # X1XX: Copiar Imagen básica también a la cache # XX1X: Borrar previamente la imagen basica de la cache antes de copiarla # XXX1: No borrar archivos en destino # El valor X indica que no importa el valor que tenga el dato # $9 Método de clonación 0=Desde caché 1=Desde repositorio # $10 Metodo de sincronizacion 1=Sincronización1 2=Sincronizacion2 # $11 Ruta de origen de la Imagen (Carpeta) #___________________________________________________________________ # # Control parámetros #___________________________________________________________________ #Load engine configurator from engine.cfg file. #Carga el configurador del engine desde el fichero engine.cfg [ -z $OGENGINECONFIGURATE ] && source /opt/opengnsys/etc/engine.cfg # Clear temporary file used as log track by httpdlog # Limpia los ficheros temporales usados como log de seguimiento para httpdlog echo " " > $OGLOGSESSION; echo " " > $OGLOGCOMMAND # Registro de inicio de ejecución ogEcho log session "$MSG_INTERFACE_START $0 $*" if [ ${10} -eq 1 ]; then #sincronizacion1 ogRestaurarSoftIncremental "$@" RETVAL=$? fi if [ ${10} -eq 2 ]; then #sincronizacion2 # Opciones de clonacion flag=$7 WHOLE=${flag:0:1} DELFILE=${flag:1:1} COMPRESS=${flag:2:1} # Nota los valores se pasan como variables de entorno, # la idea es que mas adelante vayan en el fichero PXE. [ $WHOLE -eq 1 ] && export ogrsyncw=true || export ogrsyncw=false [ $DELFILE -eq 1 ] && export ogrsyncdel=true || export ogrsyncdel=false [ $COMPRESS -eq 1 ] && export ogrsyncz=true || export ogrsyncz=false # Origen de la imagen. [ $9 -eq 0 ] && DEST="CACHE" || DEST="REPO" # Protocolo de clonacion y opciones PROTO=${6%_*} OPT=${6#*_} restoreDiffImage $DEST "$3" "$5" $1 $2 $PROTO $OPT RETVAL=$? fi # Registro de fin de ejecución ogEcho log session "$MSG_INTERFACE_END $RETVAL" exit $RETVAL