source: client/shared/scripts/ogRestaurarImagenBasica @ f4613d7

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 f4613d7 was 97ee589, checked in by alonso <alonso@…>, 12 years ago

Problemas con el navegador de progreso

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

  • Property mode set to 100755
File size: 6.1 KB
Line 
1#!/bin/bash
2#___________________________________________________________________
3#
4#  RESTAURAR IMAGEN BÁSICA
5#___________________________________________________________________
6#
7# Parámetros recibidos desde el cliente:
8#
9# $1 Número de disco
10# $2 Número de particion
11# $3 Nombre canónico de la imagen básica (sin extensión)
12# $4 Dirección del repositorio (Si es 0.0.0.0 es caché)
13# $5 Es una cadena "nnnn" tipo flags que codifica varios parametros.
14#               Tiene el formato "nnnn" donde "n" vale 0 ó 1.   
15#               1XXX: Borrar la particion de destino antes de restaurar la imagen basica
16#               X1XX: Copiar Imagen básica también a la cache
17#               XX1X: Borrar previamente la imagen basica de la cache antes de copiarla
18#               XXX1: No borrar archivos en destino
19#               El valor X indica que no importa el valor que tenga el dato
20# $6 Método de clonación 0=Desde caché 1=Desde repositorio
21# $7 Ruta de origen de la Imagen (Carpeta)
22#___________________________________________________________________
23#
24# Control parámetros
25#___________________________________________________________________
26
27        PROG="$(basename $0)"
28        if [ $# -lt 6 ]; then
29                usage=" ndisco nparticion nombre_imagen_basica ip_repositorio copiar_a_caché "
30                usage="$usage Borrar_cache_previamente metodo_clonación Ruta_origen"
31                ogRaiseError $OG_ERR_FORMAT "$MSG_FORMAT: $PROG $usage"
32                exit $?
33        fi
34       
35        DISCO=$1
36        NPART=$2
37        NOMBREIMG=$3
38        IPREPOSITORIO=$4
39       
40        flag=$5
41        echo "flah:$flag">/tmp/log
42        BORRARIMG=${flag:0:1}
43        COPIACACHE=${flag:1:1}
44        BORRACACHE=${flag:2:1}
45        NOBORRACHIVOS=${flag:3:1}
46       
47        METCLONA=$6
48        RUTAORIGEN=$7
49#___________________________________________________________________
50#
51# Variables y configuración logs
52#___________________________________________________________________
53       
54        source /opt/opengnsys/scripts/ImagenesSincronizadas.lib
55#___________________________________________________________________
56#
57# Activa navegador para ver progreso
58#___________________________________________________________________
59
60        coproc /opt/opengnsys/bin/browser -qws http://localhost/cgi-bin/httpd-log.sh
61
62#___________________________________________________________________
63#
64# Proceso
65#___________________________________________________________________
66 
67        coproc /opt/opengnsys/bin/browser -qws http://localhost/cgi-bin/httpd-log.sh
68
69
70        # Llamada a la función de sincronización.
71        echo "Restauracion de imagen basica..." | tee -a $OGLOGSESSION $OGLOGFILE
72       
73        # Borrado previo de la partición
74        if [ $BORRARIMG -eq 1 ]; then
75                if [ -n $RUTAORIGEN ]; then
76                        echo "Borrando carpeta $PARTICION$RUTAORIGEN" | tee -a $OGLOGSESSION $OGLOGFILE
77                    rm -R $PARTICION$RUTAORIGEN         
78                else
79                        echo "Formateando la particion" | tee -a $OGLOGSESSION $OGLOGFILE
80                        ogFormat $DISCO $PARTICION $TIPOPARTICION
81                        RETVAL=$?       
82                        if [ $RETVAL -ne 0 ]; then
83                                kill $COPROC_PID
84                          exit $OG_ERR_PARTITION
85                        fi
86                fi         
87        fi
88
89        # Sincronización desde repositorio
90        if [ $METCLONA = 1 ]; then
91                if [ $COPIACACHE = 0 ]; then   
92                        echo "Restaurando imagen basica desde repositorio $IPREPOSITORIO" | tee -a $OGLOGSESSION $OGLOGFILE
93                        ORIGEN="$REPOSITORIO/$NOMBREIMG/"       
94                        DESTINO=$PARTICION$RUTAORIGEN/ 
95                        # Restauración de la imagen básica
96                        echo "Sincronizando imagen entre $ORIGEN y $DESTINO" | tee -a $OGLOGSESSION $OGLOGFILE
97                        restaurarImagen $ORIGEN $DESTINO $SISTEMAFICHERO 1
98
99                        RETVAL=$?
100                        if [ $RETVAL -ne 0 ]; then
101                                echo "***Error:$RETVAL. restaurando imagen basica desde repositorio $IPREPOSITORIO" | tee -a $OGLOGSESSION $OGLOGFILE
102                                kill $COPROC_PID
103                                exit $OG_ERR_IMAGE
104                        fi     
105                        restauraListaAcl $ORIGEN $DESTINO $SISTEMAFICHERO $DISCO $NPART
106               
107                        RETVAL=$?
108                        if [ $RETVAL -ne 0 ]; then
109                                echo "***Error:$RETVAL. restaurando listas ACL desde repositorio $IPREPOSITORIO" | tee -a $OGLOGSESSION $OGLOGFILE
110                                kill $COPROC_PID
111                                exit $OG_ERR_IMAGE
112                        fi
113                        echo "!!! Finaliza correctamente !!! la restauración de imagen basica desde repositorio $IPREPOSITORIO" | tee -a $OGLOGSESSION $OGLOGFILE
114                        kill $COPROC_PID
115                        exit 0 
116                fi             
117        fi     
118       
119        if [ $METCLONA = 0 ]; then
120                # Restauración desde la caché
121                echo "Restaurando desde la cache" | tee -a $OGLOGSESSION $OGLOGFILE
122        fi     
123        # Comprobar si existe caché
124        CACHE=$(montaCache)
125        if [ -z $CACHE ]; then
126                echo "No se puede restaurar la imagen desde la cache ya que no existe" | tee -a $OGLOGSESSION $OGLOGFILE
127                                kill $COPROC_PID
128        ogRaiseError $OG_ERR_NOTCACHE "CACHE"
129        exit $OG_ERR_NOTCACHE
130        fi                     
131
132        # Borrar imagen de la caché
133        if [ $BORRACACHE -eq 1 ]; then
134                echo "Borrando imagen $NOMBREIMG de la cache" | tee -a $OGLOGSESSION $OGLOGFILE
135          rm -R $CACHE$OGIMG/$NOMBREIMG
136        fi
137       
138        # Actualización de la caché
139        echo "Actualizando cache local desde repositorio $IPREPOSITORIO" | tee -a $OGLOGSESSION $OGLOGFILE
140        ORIGEN="$REPOSITORIO/$NOMBREIMG/"
141        DESTINO="$CACHE$OGIMG/$NOMBREIMG/"
142        echo "Sincronizando imagen entre $ORIGEN y $DESTINO" | tee -a $OGLOGSESSION $OGLOGFILE
143        restaurarImagen $ORIGEN $DESTINO $SISTEMAFICHERO 1     
144
145        RETVAL=$?       
146        if [ $RETVAL -ne 0 ]; then
147                echo "***Error:$RETVAL. Actualizando cache local desde repositorio $IPREPOSITORIO" | tee -a $OGLOGSESSION $OGLOGFILE
148                kill $COPROC_PID
149                exit $OG_ERR_IMAGE
150        fi                     
151       
152        # Restauración desde caché a la partición
153        echo "Copiando imagen a la particion desde cache local" | tee -a $OGLOGSESSION $OGLOGFILE
154                       
155        ORIGEN="$CACHE$OGIMG/$NOMBREIMG/"
156        DESTINO="$PARTICION$RUTAORIGEN/"       
157        echo "Sincronizando imagen entre $ORIGEN y $DESTINO" | tee -a $OGLOGSESSION $OGLOGFILE
158        restaurarImagen $ORIGEN $DESTINO $SISTEMAFICHERO 2     
159
160        RETVAL=$?
161        if [ $RETVAL -ne 0 ]; then
162                echo "***Error:$RETVAL. restaurando imagen basica desde cache local" | tee -a $OGLOGSESSION $OGLOGFILE
163                kill $COPROC_PID
164                exit $OG_ERR_IMAGE
165        fi     
166
167        restauraListaAcl $ORIGEN $DESTINO $SISTEMAFICHERO $DISCO $NPART
168        RETVAL=$?       
169        if [ $RETVAL -ne 0 ]; then
170                echo "***Error:$RETVAL. restaurando listas ACL desde cache local" | tee -a $OGLOGSESSION $OGLOGFILE
171                kill $COPROC_PID
172                exit $OG_ERR_IMAGE
173        fi     
174        echo "!!! Finaliza correctamente !!! restauración imagen basica desde cache local" | tee -a $OGLOGSESSION $OGLOGFILE
175#___________________________________________________________________
176#
177# Retorno
178#___________________________________________________________________
179        kill $COPROC_PID
180        exit 0
Note: See TracBrowser for help on using the repository browser.