source: admin/Interface/RestaurarSoftIncremental @ 1a632ba

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 1a632ba was 4329e85, checked in by ramon <ramongomez@…>, 12 years ago

Versión 1.0.5, #565: Integrar código del ticket:565 en rama de desarrollo.

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

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