summaryrefslogtreecommitdiffstats
path: root/admin/Interface/CrearImagenBasica
blob: a51349f383323747aae613a75be1504a411d35c3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
#!/bin/bash
#___________________________________________________________________
#
#  CREAR IMAGEN BÁSICA
#___________________________________________________________________
#
# Parámetros recibidos desde el cliente:
#
# $1 Número de disco
# $2 Número de particion
# $3 Nombre canónico de la imagen básica (sin extensión)
# $4 Dirección del repositorio (Si es 0.0.0.0 es caché)
# $5 Es una cadena "nnnn" tipo flags que codifica varios parametros.
#		Tiene el formato "nnnn" donde "n" vale 0 ó 1.	
#		1XXX: Borrar la imagen del repositorio antes de crearla
#		X1XX: Copiar Imagen básica también a la cache 
#		XX1X: Borrar previamente la imagen de la cache antes de copiarla
#		XXX1: No borrar archivos en destino
#		El valor X indica que no importa el valor que tenga el dato
# $6 Ruta de origen de la Imagen (Carpeta)

#___________________________________________________________________
#
# Control parámetros
#___________________________________________________________________

	PROG="$(basename $0)"
	if [ $# -lt 5 ]; then
		usage=" ndisco nparticion nombre_imagen_basica ip_repositorio"
		usage="$usage copiar_a_caché Borrar_cache_previamente Ruta_origen"
		ogRaiseError $OG_ERR_FORMAT "$MSG_FORMAT: $PROG $usage"
		exit $?
	fi
	
	# Llamada a la función de sincronización.
 	coproc /opt/opengnsys/bin/browser -qws http://localhost/cgi-bin/httpd-log.sh	
	ogCrearImagenBasica "$@"
	kill $COPROC_PID
        exit

# Versión 2
# Para probar la versión 2 comentar las cuatro líneas anteriores

# Trasferencias comprimidas
#export ogcompress="true"

flag=$5
echo "flah:$flag">/tmp/log
DELIMG=${flag:0:1}
COPYCACHE=${flag:1:1}
DELCACHE=${flag:2:1}
NODELETEFILE=${flag:3:1} # No borra archivos no esta contemplado en crear imagen.

IMGEXT=".img"

[ "$4" == "0.0.0.0" ] && DEST="CACHE" || DEST="REPO"

# Si DELIMG = 1 borramos imagen del destino.
if [ $DELIMG -eq 1 ]; then
        IMGFILE=$(ogGetPath "$DEST" "$3$IMGEXT") && rm -rf $IMGFILE
fi

# Creamos la imagen
createBaseImage "$1" "$2" "$DEST" "$3"

# Si COPYCACHE = 1 copiamos la imagen a la cache
if [ $COPYCACHE -eq 1 ]; then
        # Si BORRACACHE=1 Borramos imagen de cache
        [ $BORRACACHE -eq 1 ] && CACHEFILE=$(ogGetPath "CACHE" "$3$IMGEXT") && rm -rf $CACHEFILE
        updateCache "REPO" /"$3.img" UNICAST
fi