source: client/shared/scripts/ogCrearImagenBasica @ 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 bafaf21, checked in by alonso <alonso@…>, 12 years ago

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

  • Property mode set to 100755
File size: 4.5 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 (Si es 0.0.0.0 es caché)
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 Ruta de origen de la Imagen (Carpeta)
27
28#___________________________________________________________________
29#
30# Control parámetros
31#___________________________________________________________________
32
33        PROG="$(basename $0)"
34        if [ $# -lt 6 ]; then
35                usage=" ndisco nparticion nombre_imagen_basica ip_repositorio"
36                usage="$usage copiar_a_caché Borrar_cache_previamente Ruta_origen"
37                ogRaiseError $OG_ERR_FORMAT "$MSG_FORMAT: $PROG $usage"
38                exit $?
39        fi
40       
41        DISCO=$1
42        NPART=$2
43        NOMBREIMG=$3
44        IPREPOSITORIO=$4
45       
46        flag=$5
47        echo "flah:$flag">/tmp/log
48        WHLFILE=${flag:0:1}
49        RMVFILE=${flag:1:1}
50        CMPFILE=${flag:2:1}
51       
52        flag=$6
53        echo "flah:$flag">/tmp/log
54        BORRARIMG=${flag:0:1}
55        COPIACACHE=${flag:1:1}
56        BORRACACHE=${flag:2:1}
57        NOBORRACHIVOS=${flag:3:1}
58       
59        RUTAORIGEN=$7
60#___________________________________________________________________
61#
62# Variables y configuración logs
63#___________________________________________________________________
64       
65        source /opt/opengnsys/scripts/ImagenesSincronizadas.lib
66
67#___________________________________________________________________
68#
69# Activa navegador para ver progreso
70#___________________________________________________________________
71
72        coproc /opt/opengnsys/bin/browser -qws http://localhost/cgi-bin/httpd-log.sh
73#___________________________________________________________________
74#
75# Proceso
76#___________________________________________________________________
77
78  echo "Creacion de imagen basica..." | tee -a $OGLOGSESSION $OGLOGFILE
79
80        ORIGEN=$PARTICION$RUTAORIGEN/   
81        DESTINO="$REPOSITORIO/$NOMBREIMG/"
82       
83        # Borrado previo de imagen en repositorio
84        if [ $BORRARIMG -eq 1 ]; then
85           echo "Borrando previamente imagen del repositorio" | tee -a $OGLOGSESSION $OGLOGFILE
86        fi
87       
88        # Creación de la imagen básica
89        echo "Sincronizando imagen entre $ORIGEN y $DESTINO" | tee -a $OGLOGSESSION $OGLOGFILE
90        crearListaAcl $ORIGEN $DESTINO $SISTEMAFICHERO $DISCO $NPART   
91        crearImagen $ORIGEN $DESTINO $SISTEMAFICHERO 1
92        RETVAL=$?       
93        if [ $RETVAL -ne 0 ]; then
94                 kill $COPROC_PID
95           exit $OG_ERR_IMAGE
96        fi     
97
98        echo "!!! Finaliza correctamente !!! la creacion de imagen básica $NOMBREIMG entre $ORIGEN y $DESTINO" | tee -a $OGLOGSESSION $OGLOGFILE
99
100        # Copia opcional a la caché
101        if [ $COPIACACHE -eq 1 ]; then
102                echo "Copiando imagen a cache" | tee -a $OGLOGSESSION $OGLOGFILE
103                CACHE=$(montaCache)
104                if [ -z $CACHE ]; then
105                        echo "No se ha podido copiar la imagen a la cache" | tee -a $OGLOGSESSION $OGLOGFILE
106                        kill $COPROC_PID
107      exit $OG_ERR_NOTCACHE
108                fi                     
109
110                # Borrar imagen de la caché
111                if [ $BORRACACHE -eq 1 ]; then
112                        echo "Borrando imagen $NOMBREIMG de la cache" | tee -a $OGLOGSESSION $OGLOGFILE
113                    rm -R $CACHE$OGIMG/$NOMBREIMG
114                fi     
115
116                # Redefinir destino     
117                DESTINO="$CACHE$OGIMG/$NOMBREIMG/"
118
119                echo "Sincronizando imagen entre $ORIGEN y $DESTINO" | tee -a $OGLOGSESSION $OGLOGFILE
120       
121                crearImagen $ORIGEN $DESTINO $SISTEMAFICHERO 2
122               
123                RETVAL=$?       
124                if [ $RETVAL -ne 0 ]; then
125                         kill $COPROC_PID
126                   exit $OG_ERR_IMAGE
127                fi     
128                echo "!!! Finaliza correctamente !!! la copia de imagen basica $NOMBREIMG a la cache" | tee -a $OGLOGSESSION $OGLOGFILE         
129  fi   
130
131        eliminaListaAcl $ORIGEN $SISTEMAFICHERO
132       
133        #comprimeImagen  $NOMBREIMG
134        RETVAL=$?       
135        if [ $RETVAL -ne 0 ]; then
136                 kill $COPROC_PID
137           exit $OG_ERR_IMAGE
138        fi             
139#___________________________________________________________________
140#
141# Retorno
142#___________________________________________________________________
143
144        kill $COPROC_PID
145        exit 0
Note: See TracBrowser for help on using the repository browser.