source: client/shared/scripts/ogCrearSoftIncremental @ 3dd7b5d

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 3dd7b5d was 265d452, checked in by alonso <alonso@…>, 12 years ago

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

  • Property mode set to 100755
File size: 5.3 KB
Line 
1#!/bin/bash
2#___________________________________________________________________
3#
4#  CREAR 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
13# $5 Nombre canónico de la imagen incremental (sin extensión)
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 imagen que no estén en la partición
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.
21#               Tiene el formato "nnnn" donde "n" vale 0 ó 1.   
22#               1XXX: Borrar la imagen incremental del repositorio antes de crearla
23#               X1XX: Copiar imagen incremental también a la cache
24#               XX1X: Borrar previamente la imagen incremental 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
27# $8 Ruta de origen de la Imagen (Carpeta)
28
29#___________________________________________________________________
30#
31# Control parámetros
32#___________________________________________________________________
33
34        PROG="$(basename $0)"
35        if [ $# -lt 7 ]; then
36                usage=" ndisco nparticion nombre_imagen_basica ip_repositorio nombre_imagen_incremental"
37                usage="$usage copiar_a_caché Borrar_cache_previamente Ruta_origen"
38                ogRaiseError $OG_ERR_FORMAT "$MSG_FORMAT: $PROG $usage"
39                exit $?
40        fi
41       
42        DISCO=$1
43        NPART=$2
44        NOMBREIMG=$3
45        IPREPOSITORIO=$4
46        NOMBREIMGINC=$5
47       
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
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# Activa navegador para ver progreso
71#___________________________________________________________________
72
73        coproc /opt/opengnsys/bin/browser -qws http://localhost/cgi-bin/httpd-log.sh   
74#___________________________________________________________________
75#
76# Lista de archivos a sincronizar
77#___________________________________________________________________
78       
79        TMPFILELIST="/tmp/_listatmp_"
80        FILELIST="/tmp/_lista_"
81#___________________________________________________________________
82#
83# Proceso
84#___________________________________________________________________
85
86        echo "Creacion de imagen incremental..." | tee -a $OGLOGSESSION $OGLOGFILE
87       
88        ORIGEN=$PARTICION$RUTAORIGEN/   
89        DESTINO="$REPOSITORIO/$NOMBREIMG/"
90       
91        # Borrado previo de imagen en repositorio
92        if [ $BORRARIMG -eq 1 ]; then
93           echo "Borrando previamente imagen del $NOMBREIMGINC repositorio" | tee -a $OGLOGSESSION $OGLOGFILE
94        fi
95               
96        # Creación de la lista de archivos entre partición e imagen básica del repositorio
97        echo "Creacion de la lista de archivos a transferir entre $ORIGEN y $DESTINO" | tee -a $OGLOGSESSION $OGLOGFILE
98        crearListaAcl $ORIGEN $DESTINO $SISTEMAFICHERO $DISCO $NPART   
99        crearImagen $ORIGEN $DESTINO $SISTEMAFICHERO 1 1 $TMPFILELIST   
100        RETVAL=$?       
101        if [ $RETVAL -ne 0 ]; then
102                 kill $COPROC_PID
103           exit $OG_ERR_IMAGE
104        fi     
105       
106        # Editar la lista y depurarla
107        editarLista $TMPFILELIST $FILELIST
108       
109        # Creación de la imagen incremental en el repositorio
110        DESTINO="$REPOSITORIO/$NOMBREIMGINC/"
111        echo "Sincronizacion para crear imagen incremental entre $ORIGEN y $DESTINO" | tee -a $OGLOGSESSION $OGLOGFILE
112        crearImagen $ORIGEN $DESTINO $SISTEMAFICHERO 1 2 $FILELIST     
113        RETVAL=$?       
114        if [ $RETVAL -ne 0 && [$RETVAL -ne 23]; then
115                 kill $COPROC_PID
116           exit $OG_ERR_IMAGE
117        fi     
118        echo "!!! Finaliza correctamente !!! la creacion de imagen incremental NOMBREIMGINC entre $ORIGEN y $DESTINO" | tee -a $OGLOGSESSION $OGLOGFILE
119
120        # Copia opcional a la caché
121        if [ $COPIACACHE -eq 1 ]; then
122                echo "Copiando imagen a cache" | tee -a $OGLOGSESSION $OGLOGFILE
123                CACHE=$(montaCache)
124                if [ -z $CACHE ]; then
125                        echo "No se ha podido copiar la imagen a la cache" | tee -a $OGLOGSESSION $OGLOGFILE
126                        kill $COPROC_PID
127      exit $OG_ERR_NOTCACHE
128                fi             
129
130                # Borrar imagen de la caché
131                if [ $BORRACACHE -eq 1 ]; then
132                        echo "Borrando imagen $NOMBREIMGINC de la cache" | tee -a $OGLOGSESSION $OGLOGFILE
133                  rm -R $CACHE$OGIMG/$NOMBREIMGINC
134                fi     
135
136                DESTINO="$CACHE$OGIMG/$NOMBREIMGINC/"
137                echo "Sincronizando imagen entre $ORIGEN y $DESTINO" | tee -a $OGLOGSESSION $OGLOGFILE
138                crearImagen $ORIGEN $DESTINO $SISTEMAFICHERO 2 2 $FILELIST     
139                RETVAL=$?       
140                if [ $RETVAL -ne 0 ]; then
141                         kill $COPROC_PID
142                   exit $OG_ERR_IMAGE
143                fi     
144                echo "!!! Finaliza correctamente !!! la copia de imagen incremental $NOMBREIMGINC a la cache" | tee -a $OGLOGSESSION $OGLOGFILE
145  fi   
146
147        eliminaListaAcl $ORIGEN $SISTEMAFICHERO
148#___________________________________________________________________
149#
150# Retorno
151#___________________________________________________________________
152
153        kill $COPROC_PID
154        exit 0
155       
Note: See TracBrowser for help on using the repository browser.