source: admin/Interface/RestaurarImagen @ 905ea9e

Last change on this file since 905ea9e was 71643c0, checked in by ramon <ramongomez@…>, 13 years ago

Integrar versión 1.0.2 en rama trunk (modificar #464).

git-svn-id: https://opengnsys.es/svn/trunk@2404 a21b9725-9963-47de-94b9-378ad31fedc9

  • Property mode set to 100755
File size: 4.4 KB
RevLine 
[3ec149c]1#!/bin/bash
2#_______________________________________________________________________________________________________________________________
3#
4# PARAMETROS RECIBIDOS DESDE EL CLIENTE:
5# $1 disco
[d9d1720]6# $2 par=N�mero de particion
7# $3 Nombre can�nico de la imagen
[ecd8d9a]8# $4 Direcci�n IP del repositorio
9# $5 Protocolo  UNICAST  MULTICAST  TORRENT
10# $6 Opciones del protocolo
[3ec149c]11#_______________________________________________________________________________________________________________________________
12
[ecd8d9a]13#Descripcion:
14# La interfaz detecta:
15#    Si Repositorio es el global (REPO) realiza un deploy.
16#    Si Repositorio es local (CACHE) realiza un ogRestoreImage CACHE
17# El deploy, si detecta que el cliente no tiene una cache con espacio suficiente reazlia un ogRestore REPO
18
19#Códigos de error de ogRestoreImage
20#@exception OG_ERR_FORMAT   1 formato incorrecto.
21#@exception OG_ERR_NOTFOUND  2 fichero de imagen o partición no detectados.
22#@exception OG_ERR_PARTITION 3  # Error en partición de disco.
23#@exception OG_ERR_LOCKED    4 partición bloqueada por otra operación.
24#@exception OG_ERR_IMAGE    5 error al restaurar la imagen del sistema.
25#@exception OG_ERR_IMGSIZEPARTITION  30 Tamaño de la particion es menor al tamaño de la imagen.
26#@todo: el scripts restoreImage limitarlo a origen:fichero destino:particion
27#@version 1.0.1 - Separación en protocolos de transferencia y postconfiguracion
[71643c0]28#@author  Antonio J. Doblas Viso. Universidad de Málaga
[ecd8d9a]29#@date   2011-05-11
[71643c0]30#@version 1.0.1 - Separación de los ficheros-log para ser gestionado por el httpd-log
31#@author Antonio J. Doblas Viso. Universidad de Málaga 
32#@date   2011-05-11
33
34
35TIME1=$SECONDS
[ecd8d9a]36
[71643c0]37OGLOGSESSION="${OGLOGSESSION=:-/tmp/session.log}"
38OGLOGCOMMAND="${OGLOGCOMMAND=:-/tmp/command.log}"
[ecd8d9a]39
[71643c0]40OGLOGSESSION="/tmp/session.log"
41OGLOGCOMMAND="/tmp/command.log"
42
43echo " " > $OGLOGSESSION
44echo " " > $OGLOGCOMMAND
45echo " " > ${OGLOGCOMMAND}.tmp
[ecd8d9a]46# Registro de ejecución
[71643c0]47echo $* >> $OGLOGSESSION
48echo "$*" &>> $OGLOGSESSION | $(tail -n 1 $OGLOGSESSION >> $OGLOGFILE)
49
50
51echo "[1] Iniciando $0 $*" | tee -a $OGLOGSESSION $OGLOGFILE
[ecd8d9a]52
53# Si el origen(pariticion) esta bloqueada salir.
54
[71643c0]55echo "TODO comprobando si esta bloqueado el $1 $2" | tee -a $OGLOGSESSION $OGLOGFILE
[ecd8d9a]56#if ogIsLocked $1 $2; then
57#       ogRaiseError $OG_ERR_LOCKED "$MSG_PARTITION, $1 $2"
58#       exit $?
59#fi
60
61# Valor por defecto para el repositorio.
62REPO=${4:-"REPO"}
63[ "$REPO" == "$(ogGetRepoIp)" ] && REPO="REPO"
64[ "$REPO" == "$(ogGetIpAddress)" ] && REPO="CACHE"
65[ "$REPO" == "CACHE" ] && REPO="CACHE"
66
67
68if [ "$REPO" == "CACHE" ]
[d9d1720]69then
[71643c0]70        echo "[2] Iniciando un ogRestoreImage CACHE $3 $1 $2" | tee -a $OGLOGSESSION $OGLOGFILE
71        ogRestoreImage CACHE "$3" "$1" "$2" &>> $OGLOGCOMMAND
[ecd8d9a]72        RETVAL=$?
73fi     
[d356c72]74
[914d834]75
76
[ecd8d9a]77if [ "$REPO" == "REPO" ]
78then
[71643c0]79        echo "[2] updateCache REPO \"/$3.img\" $5 $6"    | tee -a $OGLOGSESSION $OGLOGFILE
80        TIME2=$SECONDS
81        updateCache REPO "/$3.img" "$5" "$6"     &>> $OGLOGCOMMAND     
[ecd8d9a]82        RETVAL=$?
[71643c0]83        TIME2=$[SECONDS-TIME2]
84        echo "   [ ] Duracion del subproceso updateCache $[TIME2/60]m $[TIME2%60]s" | tee -a $OGLOGSESSION $OGLOGFILE
[ecd8d9a]85        case $RETVAL in
[71643c0]86                0)
87                echo "[50] updateCache (correcto)" | tee -a $OGLOGSESSION $OGLOGFILE
88                echo "[55] Restaurando la imagen desde la cache con comando: ogRestoreImage CACHE $3 $1 $2 UNICAST" | tee -a $OGLOGSESSION $OGLOGFILE
89                TIME3=$SECONDS
90                ogRestoreImage CACHE "$3" "$1" "$2" &> $OGLOGCOMMAND     
[ecd8d9a]91                RETVAL=$?
[71643c0]92                TIME3=$[SECONDS-TIME3]
93                echo "   [ ] Duracion del subproceso ogRestoreImage CACHE $[TIME3/60]m $[TIME3%60]s" | tee -a $OGLOGSESSION $OGLOGFILE
[ecd8d9a]94                ;;
95                15)
[71643c0]96                echo "[50] updateCache(no hay CACHE); se realiza ogRestoreImage REPO $3 $1 $2 UNICAST"  | tee -a $OGLOGSESSION $OGLOGFILE
97                echo "[55] Se restaura la imagen directamente desde el REPO: ogRestoreImage REPO $3 $1 $2 UNICAST"  | tee -a $OGLOGSESSION $OGLOGFILE
98                TIME3=$SECONDS
99                ogRestoreImage REPO "$3" "$1" "$2" &> $OGLOGCOMMAND             
100                RETVAL=$?
[ecd8d9a]101                ;;
102                16)
[71643c0]103                echo "[50] updateCache(no hay espacio sufiente en la CACHE), Se realiza ogRestoreImage REPO $3 $1 $2 UNICAST"  | tee -a $OGLOGSESSION $OGLOGFILE
104                TIME3=$SECONDS
105                ogRestoreImage REPO "$3" "$1" "$2" &> $OGLOGCOMMAND             
[ecd8d9a]106                RETVAL=$?
[71643c0]107                TIME3=$[SECONDS-TIME3]
108                echo "   [ ] Duracion del subproceso ogRestoreImage REPO $[TIME3/60]m $[TIME3%60]s" | tee -a $OGLOGSESSION $OGLOGFILE
[ecd8d9a]109                ;;
[71643c0]110        esac
[ecd8d9a]111fi
112
113if [ $RETVAL == 0 ]
114then
[71643c0]115        echo "[90] Iniciando la Configuracion del Sistema Restaurado" | tee -a $OGLOGSESSION $OGLOGFILE
116        configureOs "$1" "$2"
[ecd8d9a]117fi
[71643c0]118
119TIME=$[SECONDS-TIME1]
120echo "[100] Duracion de la operacion $[TIME/60]m $[TIME%60]s" | tee -a $OGLOGSESSION $OGLOGFILE
121
122
[ecd8d9a]123exit $RETVAL
[71643c0]124
Note: See TracBrowser for help on using the repository browser.