source: admin/Interface/CrearImagenBasica

qndtest
Last change on this file was e2a7442, checked in by irina <irinagomez@…>, 10 years ago

#565 Sincronizadas. Se bloquean igual que las monoliticas. Al crear diferenciales se detecta si la particion es igual que la basica

git-svn-id: https://opengnsys.es/svn/branches/version1.0@4234 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
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# Control parámetros
32#___________________________________________________________________
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        #Load engine configurator from engine.cfg file.
44        #Carga el configurador del engine desde el fichero engine.cfg
45        [ -z $OGENGINECONFIGURATE ] && source /opt/opengnsys/etc/engine.cfg
46
47        # Clear temporary file used as log track by httpdlog
48        # Limpia los ficheros temporales usados como log de seguimiento para httpdlog
49        echo -n "" > $OGLOGSESSION; echo -n  "" > $OGLOGCOMMAND
50
51        # Registro de inicio de ejecución
52        ogEcho log session "$MSG_INTERFACE_START $0 $*"
53
54        # Si el destino es REPO y el cliente no está en modo "admin"; activar repositorio para escritura,
55        PATH=$PATH:$(dirname $0)
56        CLIENTIP=$(ogGetIpAddress)
57        [ "$4" == "$CLIENTIP" ] && DEST=CACHE || DEST=REPO
58        if [ "$DEST" == "REPO" -a "$boot" != "admin"  ]; then
59                CambiarAcceso admin &>> $OGLOGFILE
60                RETVAL=$?
61                [ $RETVAL -gt 0 ] && exit $RETVAL
62        fi
63
64        if [ $7 -eq 1 ]; then
65                #sincronizacion1
66                ogCrearImagenBasica "$@"
67                RETVAL=$?
68        fi             
69
70        if [ $7 -eq 2 ]; then
71                # Sincronizacion2
72                flag=$5
73                WHOLE=${flag:0:1}
74                DELFILE=${flag:1:1}
75                COMPRESS=${flag:2:1}                   
76               
77                # Nota los valores se pasan como variables de entorno,
78                #       la idea es que mas adelante vayan en el fichero PXE.
79                [ $WHOLE -eq 1 ] && export ogrsyncw=true || export ogrsyncw=false
80                [ $DELFILE -eq 1 ] && export ogrsyncdel=true || export ogrsyncdel=false
81                [ $COMPRESS -eq 1 ] && export ogrsyncz=true || export ogrsyncz=false
82
83        #       [ "$4" == "0.0.0.0" ] && DEST="CACHE" || DEST="REPO" 
84
85                createBaseImage $1 $2 $DEST "$3" 
86                RETVAL=$?
87
88        fi
89
90        # Si estamos en modo user montamos el repositorio en modo lectura.
91        [ "$DEST" == "REPO" -a "$boot" != "admin" ] && CambiarAcceso user
92        # Registro de fin de ejecución
93        ogEcho log session "$MSG_INTERFACE_END $RETVAL"
94
95
96
97        exit $RETVAL
98
Note: See TracBrowser for help on using the repository browser.