source: admin/Interface/CrearSoftIncremental

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.6 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 Método de syncronización 1=Sincronización1  2=Sincronizacion2
28# $9 Ruta de origen de la Imagen (Carpeta)
29
30#___________________________________________________________________
31#
32# Control parámetros
33#___________________________________________________________________
34        PROG="$(basename $0)"
35        if [ $# -lt 8 ]; 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        #Load engine configurator from engine.cfg file.
43        #Carga el configurador del engine desde el fichero engine.cfg
44        [ -z $OGENGINECONFIGURATE ] && source /opt/opengnsys/etc/engine.cfg
45
46        # Clear temporary file used as log track by httpdlog
47        # Limpia los ficheros temporales usados como log de seguimiento para httpdlog
48        echo -n "" > $OGLOGSESSION; echo -n  "" > $OGLOGCOMMAND
49
50        # Registro de inicio de ejecución
51        ogEcho log session "$MSG_INTERFACE_START $0 $*"
52
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 [ $8 -eq 1 ]; then
65                #sincronizacion1
66                ogCrearSoftIncremental "$@"
67                RETVAL=$?
68        fi             
69       
70
71        if [ $8 -eq 2 ]; then
72                #sincronizacion 2
73                flag=$6
74                WHOLE=${flag:0:1}
75                DELFILE=${flag:1:1}
76                COMPRESS=${flag:2:1}
77
78                # Nota los valores se pasan como variables de entorno,
79                #       la idea es que mas adelante vayan en el fichero PXE.
80                [ $WHOLE -eq 1 ] && export ogrsyncw=true || export ogrsyncw=false
81                [ $DELFILE -eq 1 ] && export ogrsyncdel=true || export ogrsyncdel=false
82                [ $COMPRESS -eq 1 ] && export ogrsyncz=true || export ogrsyncz=false
83
84                # REPOSITORIO: Si la ip es la del propio equipo CACHE, si no REPO
85                #CLIENTIP=$(ogGetIpAddress)
86                #[ "$4" == "$CLIENTIP" ] && DEST=CACHE || DEST=REPO
87                createDiffImage $1 $2 $DEST "$3" "$5" 
88                RETVAL=$?
89
90        fi
91
92        # Si estamos en modo user montamos el repositorio en modo lectura.
93        [ "$DEST" == "REPO" -a "$boot" != "admin" ] && CambiarAcceso user
94
95        # Registro de fin de ejecución
96        ogEcho log session "$MSG_INTERFACE_END $RETVAL"
97
98        exit $RETVAL
Note: See TracBrowser for help on using the repository browser.