source: client/shared/scripts/ogRestaurarImagenBasica @ 23e53a5

918-git-images-111dconfigure-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-instalacion
Last change on this file since 23e53a5 was 501e543, checked in by irina <irinagomez@…>, 10 years ago

#653 Adaptacion scripts de despliegue all numero de parametros de configureOsCustom.

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

  • Property mode set to 100755
File size: 7.0 KB
RevLine 
[d843835]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)
[987a20d]12# $4 Dirección del repositorio
[2612fcb]13# $5 Tipo de transmisión 0=Unicast 1=Multicast
14# $6 Es una cadena "nnn" tipo flags que codifica varios parametros.
15#               Tiene el formato "nnn" donde "n" vale 0 ó 1.   
16#               1XX: Gestionar fichero completo en lugar de diferencas
17#               X1X: Eliminar archivos de la partición que no estén en la imagen
18#               XX1: Comprimir archivos para enviarlos por la red
19#               El valor X indica que no importa el valor que tenga el dato
20# $7 Es una cadena "nnnn" tipo flags que codifica varios parametros.
[d843835]21#               Tiene el formato "nnnn" donde "n" vale 0 ó 1.   
22#               1XXX: Borrar la particion de destino antes de restaurar la imagen basica
23#               X1XX: Copiar Imagen básica también a la cache
24#               XX1X: Borrar previamente la imagen basica de la cache antes de copiarla
25#               XXX1: No borrar archivos en destino
26#               El valor X indica que no importa el valor que tenga el dato
[2612fcb]27# $8 Método de clonación 0=Desde caché 1=Desde repositorio
[987a20d]28# $9 Metodo de sincronizacion  1=Sincronización1  2=Sincronizacion2
29# $10 Ruta de origen de la Imagen (Carpeta)
[d843835]30#___________________________________________________________________
31#
32# Control parámetros
33#___________________________________________________________________
34
35        PROG="$(basename $0)"
[2612fcb]36        if [ $# -lt 8 ]; then
[d843835]37                usage=" ndisco nparticion nombre_imagen_basica ip_repositorio copiar_a_caché "
38                usage="$usage Borrar_cache_previamente metodo_clonación Ruta_origen"
39                ogRaiseError $OG_ERR_FORMAT "$MSG_FORMAT: $PROG $usage"
40                exit $?
41        fi
42       
43        DISCO=$1
44        NPART=$2
45        NOMBREIMG=$3
46        IPREPOSITORIO=$4
47       
[2612fcb]48        flag=$6
49        echo "flah:$flag">/tmp/log
50        WHLFILE=${flag:0:1}
51        RMVFILE=${flag:1:1}
52        CMPFILE=${flag:2:1}
53
54        flag=$7
[d843835]55        echo "flah:$flag">/tmp/log
56        BORRARIMG=${flag:0:1}
57        COPIACACHE=${flag:1:1}
58        BORRACACHE=${flag:2:1}
59        NOBORRACHIVOS=${flag:3:1}
60       
[2612fcb]61        METCLONA=$8
[987a20d]62        RUTAORIGEN=${10}
[d843835]63#___________________________________________________________________
64#
65# Variables y configuración logs
66#___________________________________________________________________
67       
68        source /opt/opengnsys/scripts/ImagenesSincronizadas.lib
69#___________________________________________________________________
70#
[97ee589]71# Activa navegador para ver progreso
72#___________________________________________________________________
73
74        coproc /opt/opengnsys/bin/browser -qws http://localhost/cgi-bin/httpd-log.sh
75
76#___________________________________________________________________
77#
[d843835]78# Proceso
79#___________________________________________________________________
[97ee589]80 
[e205863]81        # Llamada a la función de sincronización.
[d843835]82        echo "Restauracion de imagen basica..." | tee -a $OGLOGSESSION $OGLOGFILE
83       
84        # Borrado previo de la partición
85        if [ $BORRARIMG -eq 1 ]; then
86                if [ -n $RUTAORIGEN ]; then
87                        echo "Borrando carpeta $PARTICION$RUTAORIGEN" | tee -a $OGLOGSESSION $OGLOGFILE
88                    rm -R $PARTICION$RUTAORIGEN         
89                else
90                        echo "Formateando la particion" | tee -a $OGLOGSESSION $OGLOGFILE
91                        ogFormat $DISCO $PARTICION $TIPOPARTICION
92                        RETVAL=$?       
93                        if [ $RETVAL -ne 0 ]; then
[97ee589]94                                kill $COPROC_PID
95                          exit $OG_ERR_PARTITION
[d843835]96                        fi
97                fi         
98        fi
99
100        # Sincronización desde repositorio
101        if [ $METCLONA = 1 ]; then
102                if [ $COPIACACHE = 0 ]; then   
103                        echo "Restaurando imagen basica desde repositorio $IPREPOSITORIO" | tee -a $OGLOGSESSION $OGLOGFILE
104                        ORIGEN="$REPOSITORIO/$NOMBREIMG/"       
105                        DESTINO=$PARTICION$RUTAORIGEN/ 
106                        # Restauración de la imagen básica
107                        echo "Sincronizando imagen entre $ORIGEN y $DESTINO" | tee -a $OGLOGSESSION $OGLOGFILE
108                        restaurarImagen $ORIGEN $DESTINO $SISTEMAFICHERO 1
[349b238]109
110                        RETVAL=$?
111                        if [ $RETVAL -ne 0 ]; then
[97ee589]112                                echo "***Error:$RETVAL. restaurando imagen basica desde repositorio $IPREPOSITORIO" | tee -a $OGLOGSESSION $OGLOGFILE
113                                kill $COPROC_PID
114                                exit $OG_ERR_IMAGE
[349b238]115                        fi     
[d843835]116                        restauraListaAcl $ORIGEN $DESTINO $SISTEMAFICHERO $DISCO $NPART
[349b238]117               
[d843835]118                        RETVAL=$?
[349b238]119                        if [ $RETVAL -ne 0 ]; then
[97ee589]120                                echo "***Error:$RETVAL. restaurando listas ACL desde repositorio $IPREPOSITORIO" | tee -a $OGLOGSESSION $OGLOGFILE
121                                kill $COPROC_PID
122                                exit $OG_ERR_IMAGE
[349b238]123                        fi
[8e2e266]124                        echo "!!! Finaliza correctamente !!! la restauracion de imagen basica $NOMBREIMG desde repositorio $IPREPOSITORIO" | tee -a $OGLOGSESSION $OGLOGFILE
[97ee589]125                        kill $COPROC_PID
[349b238]126                        exit 0 
[d843835]127                fi             
128        fi     
129       
[349b238]130        if [ $METCLONA = 0 ]; then
131                # Restauración desde la caché
132                echo "Restaurando desde la cache" | tee -a $OGLOGSESSION $OGLOGFILE
133        fi     
[d843835]134        # Comprobar si existe caché
135        CACHE=$(montaCache)
136        if [ -z $CACHE ]; then
[349b238]137                echo "No se puede restaurar la imagen desde la cache ya que no existe" | tee -a $OGLOGSESSION $OGLOGFILE
[97ee589]138                                kill $COPROC_PID
[d843835]139        ogRaiseError $OG_ERR_NOTCACHE "CACHE"
[97ee589]140        exit $OG_ERR_NOTCACHE
[d843835]141        fi                     
142
143        # Borrar imagen de la caché
144        if [ $BORRACACHE -eq 1 ]; then
145                echo "Borrando imagen $NOMBREIMG de la cache" | tee -a $OGLOGSESSION $OGLOGFILE
[349b238]146          rm -R $CACHE$OGIMG/$NOMBREIMG
[d843835]147        fi
148       
149        # Actualización de la caché
150        echo "Actualizando cache local desde repositorio $IPREPOSITORIO" | tee -a $OGLOGSESSION $OGLOGFILE
151        ORIGEN="$REPOSITORIO/$NOMBREIMG/"
152        DESTINO="$CACHE$OGIMG/$NOMBREIMG/"
153        echo "Sincronizando imagen entre $ORIGEN y $DESTINO" | tee -a $OGLOGSESSION $OGLOGFILE
154        restaurarImagen $ORIGEN $DESTINO $SISTEMAFICHERO 1     
155
156        RETVAL=$?       
157        if [ $RETVAL -ne 0 ]; then
[349b238]158                echo "***Error:$RETVAL. Actualizando cache local desde repositorio $IPREPOSITORIO" | tee -a $OGLOGSESSION $OGLOGFILE
[97ee589]159                kill $COPROC_PID
[349b238]160                exit $OG_ERR_IMAGE
[987a20d]161        fi             
162
163 echo "!!! Finaliza correctamente !!! copia de imagen basica a cache local" | tee -a $OGLOGSESSION $OGLOGFILE
164
[d843835]165        # Restauración desde caché a la partición
166        echo "Copiando imagen a la particion desde cache local" | tee -a $OGLOGSESSION $OGLOGFILE
167                       
168        ORIGEN="$CACHE$OGIMG/$NOMBREIMG/"
169        DESTINO="$PARTICION$RUTAORIGEN/"       
170        echo "Sincronizando imagen entre $ORIGEN y $DESTINO" | tee -a $OGLOGSESSION $OGLOGFILE
171        restaurarImagen $ORIGEN $DESTINO $SISTEMAFICHERO 2     
[349b238]172
173        RETVAL=$?
174        if [ $RETVAL -ne 0 ]; then
175                echo "***Error:$RETVAL. restaurando imagen basica desde cache local" | tee -a $OGLOGSESSION $OGLOGFILE
[97ee589]176                kill $COPROC_PID
[349b238]177                exit $OG_ERR_IMAGE
178        fi     
179
[d843835]180        restauraListaAcl $ORIGEN $DESTINO $SISTEMAFICHERO $DISCO $NPART
181        RETVAL=$?       
182        if [ $RETVAL -ne 0 ]; then
[349b238]183                echo "***Error:$RETVAL. restaurando listas ACL desde cache local" | tee -a $OGLOGSESSION $OGLOGFILE
[97ee589]184                kill $COPROC_PID
[349b238]185                exit $OG_ERR_IMAGE
[d843835]186        fi     
[2612fcb]187
188        echo "Ejecutando configure OS" | tee -a $OGLOGSESSION $OGLOGFILE       
[bf365a4]189        if which configureOsCustom &>/dev/null; then
190                ogEcho log session "[90] configureOsCustom"
[501e543]191                configureOsCustom "$DISCO" "$NPART" "$IPREPOSITORIO" "$NOMBREIMG"
[bf365a4]192        else
193                ogEcho log session "[90] $MSG_SCRIPTS_OS_CONFIGURE "
194                configureOs "$DISCO" "$NPART"
195        fi
196
[2612fcb]197
198  echo "!!! Finaliza correctamente !!! restauracion imagen basica $NOMBREIMG desde cache local" | tee -a $OGLOGSESSION $OGLOGFILE
[d843835]199#___________________________________________________________________
200#
201# Retorno
202#___________________________________________________________________
[2612fcb]203       
[97ee589]204        kill $COPROC_PID
[8e2e266]205
[d843835]206        exit 0
Note: See TracBrowser for help on using the repository browser.