#!/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