source: admin/Interface/CrearImagenBasica @ 01aef8db

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 01aef8db was e2a7442, checked in by irina <irinagomez@…>, 11 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
RevLine 
[4329e85]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)
[98cdd5db]12# $4 Dirección del repositorio
[eeeb98a]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.
[4329e85]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
[986f850]26# $7 Método de syncronización 1=Sincronización1  2=Sincronizacion2
27# $8 Ruta de origen de la Imagen (Carpeta)
[4329e85]28
29#___________________________________________________________________
30#
31# Control parámetros
32#___________________________________________________________________
33
[ef938d2]34
[4329e85]35        PROG="$(basename $0)"
[986f850]36        if [ $# -lt 7 ]; then
[4329e85]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       
[ef938d2]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
[791d013]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
[0483b14]52        ogEcho log session "$MSG_INTERFACE_START $0 $*"
[791d013]53
[e2a7442]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
[986f850]64        if [ $7 -eq 1 ]; then
65                #sincronizacion1
66                ogCrearImagenBasica "$@"
[30ad471]67                RETVAL=$?
[986f850]68        fi             
[4329e85]69
[097bc95]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
[e2a7442]83        #       [ "$4" == "0.0.0.0" ] && DEST="CACHE" || DEST="REPO" 
[097bc95]84
85                createBaseImage $1 $2 $DEST "$3"
[30ad471]86                RETVAL=$?
[097bc95]87
88        fi
[6b0b68d]89
[e2a7442]90        # Si estamos en modo user montamos el repositorio en modo lectura.
91        [ "$DEST" == "REPO" -a "$boot" != "admin" ] && CambiarAcceso user
[30ad471]92        # Registro de fin de ejecución
[0483b14]93        ogEcho log session "$MSG_INTERFACE_END $RETVAL"
[30ad471]94
95
96
97        exit $RETVAL
98
Note: See TracBrowser for help on using the repository browser.