source: admin/Interface/CrearImagenBasica @ ac8b8f58

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 ac8b8f58 was 9204a04, checked in by ramon <ramongomez@…>, 12 years ago

Versión 1.0.5, #565: Integrar cambios en comandos para crear y restaurar imágenes incrementales.

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

  • Property mode set to 100755
File size: 3.3 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 "nnnn" tipo flags que codifica varios parametros.
14#               Tiene el formato "nnnn" donde "n" vale 0 ó 1.   
15#               1XXX: Borrar la imagen del repositorio antes de crearla
16#               X1XX: Copiar Imagen básica también a la cache
17#               XX1X: Borrar previamente la imagen de la cache antes de copiarla
18#               XXX1: No borrar archivos en destino
19#               El valor X indica que no importa el valor que tenga el dato
20# $6 Ruta de origen de la Imagen (Carpeta)
21
22#___________________________________________________________________
23#
24# Control parámetros
25#___________________________________________________________________
26
27        PROG="$(basename $0)"
28        if [ $# -lt 5 ]; then
29                usage=" ndisco nparticion nombre_imagen_basica ip_repositorio"
30                usage="$usage copiar_a_caché Borrar_cache_previamente Ruta_origen"
31                ogRaiseError $OG_ERR_FORMAT "$MSG_FORMAT: $PROG $usage"
32                exit $?
33        fi
34       
35        DISCO=$1
36        NPART=$2
37        NOMBREIMG=$3
38        IPREPOSITORIO=$4
39       
40        flag=$5
41        echo "flah:$flag">/tmp/log
42        BORRARIMG=${flag:0:1}
43        COPIACACHE=${flag:1:1}
44        BORRACACHE=${flag:2:1}
45        NOBORRACHIVOS=${flag:3:1}
46       
47        RUTAORIGEN=$6
48#___________________________________________________________________
49#
50# Variables y configuración logs
51#___________________________________________________________________
52       
53        source /opt/opengnsys/interfaceAdm/ImagenesSincronizadas.lib
54#___________________________________________________________________
55#
56# Proceso
57#___________________________________________________________________
58
59  echo "Creacion de imagen basica..." | tee -a $OGLOGSESSION $OGLOGFILE
60
61        ORIGEN=$PARTICION$RUTAORIGEN/   
62        DESTINO="$REPOSITORIO/$NOMBREIMG/"
63       
64        # Borrado previo de imagen en repositorio
65        if [ $BORRARIMG -eq 1 ]; then
66           echo "Borrando previamente imagen del repositorio" | tee -a $OGLOGSESSION $OGLOGFILE
67        fi
68       
69        # Creación de la imagen básica
70        echo "Sincronizando imagen entre $ORIGEN y $DESTINO" | tee -a $OGLOGSESSION $OGLOGFILE
71        crearListaAcl $ORIGEN $DESTINO $SISTEMAFICHERO $DISCO $NPART   
72        crearImagen $ORIGEN $DESTINO $SISTEMAFICHERO 1
73        RETVAL=$?       
74        if [ $RETVAL -ne 0 ]; then
75           exit $OG_ERR_IMAGE
76        fi     
77
78        # Copia opcional a la caché
79        if [ $COPIACACHE -eq 1 ]; then
80                echo "Copiando imagen a cache" | tee -a $OGLOGSESSION $OGLOGFILE
81                CACHE=$(montaCache)
82                if [ -z $CACHE ]; then
83                        echo "No se ha podido copiar la imagen a la cache" | tee -a $OGLOGSESSION $OGLOGFILE
84                    exit 0
85                fi                     
86
87                # Borrar imagen de la caché
88                if [ $BORRACACHE -eq 1 ]; then
89                        echo "Borrando imagen $NOMBREIMG de la cache" | tee -a $OGLOGSESSION $OGLOGFILE
90                    rm -R $CACHE$OGIMG/$NOMBREIMG
91                fi     
92
93                # Redefinir destino     
94                DESTINO="$CACHE$OGIMG/$NOMBREIMG/"
95
96                echo "Sincronizando imagen entre $ORIGEN y $DESTINO" | tee -a $OGLOGSESSION $OGLOGFILE
97       
98                crearImagen $ORIGEN $DESTINO $SISTEMAFICHERO 2
99               
100                RETVAL=$?       
101                if [ $RETVAL -ne 0 ]; then
102                   exit $OG_ERR_IMAGE
103                fi             
104   fi   
105
106        eliminaListaAcl $ORIGEN $SISTEMAFICHERO
107#___________________________________________________________________
108#
109# Retorno
110#___________________________________________________________________
111
112        exit 0
Note: See TracBrowser for help on using the repository browser.