source: client/shared/scripts/restoreImage @ 2ba4a6c

918-git-images-111dconfigfileconfigure-oglivegit-imageslgromero-new-oglivemainmaint-cronmount-efivarfsmultivmmultivm-ogboot-installerogClonningEngineogboot-installer-jenkinsoglive-ipv6test-python-scriptsticket-301ticket-50ticket-50-oldticket-577ticket-585ticket-611ticket-612ticket-693ticket-700ubu24tplunification2use-local-agent-oglivevarios-instalacionwebconsole3
Last change on this file since 2ba4a6c was 30ad471, checked in by irina <irinagomez@…>, 11 years ago

#565 #636 revisión mensajes de error en las sincronizadas.

git-svn-id: https://opengnsys.es/svn/branches/version1.0@4173 a21b9725-9963-47de-94b9-378ad31fedc9

  • Property mode set to 100755
File size: 2.6 KB
RevLine 
[f8f4dfa]1#!/bin/bash
[4fcbcc8]2# Script de ejemplo para restaurar una imagen.
[f8f4dfa]3# (puede usarse como base para el programa de restauración de imágenes usado por OpenGNSys Admin).
4
[f5432db7]5TIME1=$SECONDS
[f8f4dfa]6PROG="$(basename $0)"
[87a7a799]7if [ $# -lt 4 ]; then
[30ad471]8    ogRaiseError $OG_ERR_FORMAT "$MSG_FORMAT: $PROG REPO|CACHE imagen ndisco nparticion [ UNICAST|MULTICAST opciones protocolo]"
9    exit $?
[f8f4dfa]10fi
11
[d2f28cf]12#Load engine configurator from engine.cfg file.
13#Carga el configurador del engine desde el fichero engine.cfg
14# Valores por defecto: #IMGPROG="partclone" ; #IMGCOMP="lzop" ; #IMGEXT="img" #IMGREDUCE="TRUE"
15[ -z $OGENGINECONFIGURATE ] && source /opt/opengnsys/etc/engine.cfg
16
17# Clear temporary file used as log track by httpdlog
18# Limpia los ficheros temporales usados como log de seguimiento para httpdlog
[7f8d5d5]19echo " " > $OGLOGCOMMAND
20[ "$(ogGetCaller)" == "deployImage" ] || echo -n "" > $OGLOGSESSION;
[d2f28cf]21
22echo "[1] $MSG_SCRIPTS_START $0 $*" | tee -a $OGLOGSESSION $OGLOGFILE
23
[f8f4dfa]24# Procesar parámetros de entrada
[d2f28cf]25REPO="${1^^}"
26IMGNAME="$2"
27DISK="$3"
28PART="$4"
29PROTO="${5^^}"
30PROTO=${PROTO:-"UNICAST"}
31PROTOOPT="$6"
32IMGTYPE="${IMGTYPE:-"img"}"
33# Comprobar que existe la imagen del origen.
[4fcbcc8]34IMGFILE=$(ogGetPath "$REPO" "$IMGNAME.$IMGTYPE")
35IMGDIR=$(ogGetParentPath "$REPO" "$IMGNAME")
36if [ "$IMGFILE" == "" -o "$IMGDIR" == "" ]; then
[30ad471]37        ogRaiseError $OG_ERR_NOTFOUND "$REPO, ${IMGNAME%/*}"
38        exit $?
[4fcbcc8]39fi
[41d9755]40
[d2f28cf]41# Procesar protocolos de transferencia.
42case "$PROTO" in
43    UNICAST|UNICAST-DIRECT)
44        # Restaurar la imagen.
[7f8d5d5]45        echo "[40] ogRestoreImage $REPO $IMGNAME $DISK $PART UNICAST" | tee -a $OGLOGSESSION $OGLOGFILE
46        ogRestoreImage "$REPO" "$IMGNAME" "$DISK" "$PART" UNICAST 2>&1 | tee -a $OGLOGCOMMAND
[f9e03ad]47        RETVAL=${PIPESTATUS[0]}
[d2f28cf]48        ;;
49    MULTICAST|MULTICAST-DIRECT)
50        PORT=$(echo $PROTOOPT | cut -f1 -d":")
51        TOOL=$(ogGetImageProgram REPO $IMGNAME)
52        COMPRESS=$(ogGetImageCompressor REPO $IMGNAME)
53        #TODO comprobar parametros anteriores
[7f8d5d5]54        echo "[40] ogMcastReceiverPartition $DISK $PART $PORT $TOOL $COMPRESS" | tee -a $OGLOGSESSION $OGLOGFILE
55        ogMcastRequest "$IMGNAME.img" "$PROTOOPT"
56        ogMcastReceiverPartition "$DISK" "$PART" "$PORT" "$TOOL" "$COMPRESS" 2>&1 | tee -a $OGLOGCOMMAND
[f9e03ad]57        RETVAL=${PIPESTATUS[0]}
[d2f28cf]58        ;;
59    *)  # Protocolo desconocido.
[30ad471]60        ogRaiseError $OG_ERR_FORMAT "$MSG_FORMAT: $PROG REPO|CACHE imagen ndisco nparticion [ UNICAST|MULTICAST opciones ]"
[d2f28cf]61        exit $?
62esac
[b0ff94d]63
[f5432db7]64TIME=$[SECONDS-TIME1]
[7f8d5d5]65echo "[100] Duracion de la operacion $[TIME/60]m $[TIME%60]s" | tee -a $OGLOGSESSION $OGLOGFILE
[f8f4dfa]66
[f9e03ad]67# Código de salida del comando prinicpal de restauración.
68exit $RETVAL
69
Note: See TracBrowser for help on using the repository browser.