source: client/shared/scripts/ogCrearImagenBasica @ a5de7cc

configure-oglivelgromero-new-oglivemainmount-efivarfsmultivmmultivm-ogboot-installerogClonningEngineoglive-ipv6test-python-scriptsticket-577ticket-585ticket-611ticket-612ticket-693ticket-700ubu24tplunification2use-local-agent-oglivevarios-instalacion
Last change on this file since a5de7cc was b239936, checked in by albertogp <albertogp@…>, 11 years ago

branches-version1.0-tickets
Mejoras en los comandos
Eliminar imagen Repositorio, crea una marca en los ficheros
ogCreateImagenBasica
ogCrearSoftIncremental
#462

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

  • Property mode set to 100755
File size: 5.1 KB
Line 
1#!/bin/bash
2#___________________________________________________________________
3#
4#  CREAR 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
13# $5 Es una cadena "nnn" tipo flags que codifica varios parametros.
14#               Tiene el formato "nnn" donde "n" vale 0 ó 1.   
15#               1XX: Gestionar fichero completo en lugar de diferencas
16#               X1X: Eliminar archivos de la imagen que no estén en la partición
17#               XX1: Comprimir archivos para enviarlos por la red
18#               El valor X indica que no importa el valor que tenga el dato
19# $6 Es una cadena "nnnn" tipo flags que codifica varios parametros.
20#               Tiene el formato "nnnn" donde "n" vale 0 ó 1.   
21#               1XXX: Borrar la imagen del repositorio antes de crearla
22#               X1XX: Copiar Imagen básica también a la cache
23#               XX1X: Borrar previamente la imagen de la cache antes de copiarla
24#               XXX1: No borrar archivos en destino
25#               El valor X indica que no importa el valor que tenga el dato
26# $7 Método de syncronización 1=Sincronización1  2=Sincronizacion2
27# $8 Ruta de origen de la Imagen (Carpeta)
28
29
30#___________________________________________________________________
31#
32# Control parámetros
33#___________________________________________________________________
34
35        PROG="$(basename $0)"
36        if [ $# -lt 7 ]; then
37                usage=" ndisco nparticion nombre_imagen_basica ip_repositorio"
38                usage="$usage copiar_a_caché Borrar_cache_previamente 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       
48        flag=$5
49        echo "flah:$flag">/tmp/log
50        WHLFILE=${flag:0:1}
51        RMVFILE=${flag:1:1}
52        CMPFILE=${flag:2:1}
53       
54        flag=$6
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       
61        RUTAORIGEN=$8
62#___________________________________________________________________
63#
64# Variables y configuración logs
65#___________________________________________________________________
66       
67        source /opt/opengnsys/scripts/ImagenesSincronizadas.lib
68
69#___________________________________________________________________
70#
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# Proceso
78#___________________________________________________________________
79
80  echo "Creacion de imagen basica..." | tee -a $OGLOGSESSION $OGLOGFILE
81
82        ORIGEN=$PARTICION$RUTAORIGEN/   
83        DESTINO="$REPOSITORIO/$NOMBREIMG/"
84       
85        # Borrado previo de imagen en repositorio
86        if [ $BORRARIMG -eq 1 ]; then
87           echo "Borrando previamente imagen del repositorio" | tee -a $OGLOGSESSION $OGLOGFILE
88        fi
89       
90        ## Marca de localizacion Repositorio
91        FILE_IMG=".marcimg"
92        MARCA=$ORIGEN$FILE_IMG
93        ## Marca de localizacion Repositorio en Imagen
94        if [[ ! -f $MARCA  ]]; then
95                ##echo "Creando Marca Repositorio en Imagen $MARCA"  | tee -a $OGLOGSESSION $OGLOGFILE
96                touch $MARCA
97        fi
98       
99        # Creación de la imagen básica
100        echo "Sincronizando imagen entre $ORIGEN y $DESTINO" | tee -a $OGLOGSESSION $OGLOGFILE
101        crearListaAcl $ORIGEN $DESTINO $SISTEMAFICHERO $DISCO $NPART   
102        crearImagen $ORIGEN $DESTINO $SISTEMAFICHERO 1
103        RETVAL=$?       
104        if [ $RETVAL -ne 0 ]; then
105                 kill $COPROC_PID
106           exit $OG_ERR_IMAGE
107        fi     
108
109        echo "!!! Finaliza correctamente !!! la creacion de imagen básica $NOMBREIMG entre $ORIGEN y $DESTINO" | tee -a $OGLOGSESSION $OGLOGFILE
110
111        # Copia opcional a la caché
112        if [ $COPIACACHE -eq 1 ]; then
113                echo "Copiando imagen a cache" | tee -a $OGLOGSESSION $OGLOGFILE
114                CACHE=$(montaCache)
115                if [ -z $CACHE ]; then
116                        echo "No se ha podido copiar la imagen a la cache" | tee -a $OGLOGSESSION $OGLOGFILE
117                        kill $COPROC_PID
118      exit $OG_ERR_NOTCACHE
119                fi                     
120
121                # Borrar imagen de la caché
122                if [ $BORRACACHE -eq 1 ]; then
123                        echo "Borrando imagen $NOMBREIMG de la cache" | tee -a $OGLOGSESSION $OGLOGFILE
124                    rm -R $CACHE$OGIMG/$NOMBREIMG
125                fi     
126
127                # Redefinir destino     
128                DESTINO="$CACHE$OGIMG/$NOMBREIMG/"
129               
130                ## Marca de localizacion Repositorio
131                FILE_IMG=".marcimg"
132                MARCA=$ORIGEN$FILE_IMG
133                ## Marca de localizacion Repositorio en Imagen
134                if [[ ! -f $MARCA  ]]; then
135                        ##echo "Creando Marca Repositorio en Imagen $MARCA"  | tee -a $OGLOGSESSION $OGLOGFILE
136                        touch $MARCA
137                fi
138
139                echo "Sincronizando imagen entre $ORIGEN y $DESTINO" | tee -a $OGLOGSESSION $OGLOGFILE
140       
141                crearImagen $ORIGEN $DESTINO $SISTEMAFICHERO 2
142               
143                RETVAL=$?       
144                if [ $RETVAL -ne 0 ]; then
145                         kill $COPROC_PID
146                   exit $OG_ERR_IMAGE
147                fi     
148                echo "!!! Finaliza correctamente !!! la copia de imagen basica $NOMBREIMG a la cache" | tee -a $OGLOGSESSION $OGLOGFILE         
149  fi   
150
151        eliminaListaAcl $ORIGEN $SISTEMAFICHERO
152        ## Eliminar Marca Repositorio
153        rm $MARCA
154       
155        #comprimeImagen  $NOMBREIMG
156        RETVAL=$?       
157        if [ $RETVAL -ne 0 ]; then
158                 kill $COPROC_PID
159           exit $OG_ERR_IMAGE
160        fi             
161#___________________________________________________________________
162#
163# Retorno
164#___________________________________________________________________
165
166        kill $COPROC_PID
167        exit 0
Note: See TracBrowser for help on using the repository browser.