source: admin/Interface/CrearImagen @ 905ea9e

Last change on this file since 905ea9e was 71643c0, checked in by ramon <ramongomez@…>, 13 years ago

Integrar versión 1.0.2 en rama trunk (modificar #464).

git-svn-id: https://opengnsys.es/svn/trunk@2404 a21b9725-9963-47de-94b9-378ad31fedc9

  • Property mode set to 100755
File size: 2.6 KB
Line 
1#!/bin/bash
2
3#___________________________________________________
4#
5# PARAMETROS RECIBIDOS DESDE EL CLIENTE:
6# $1 Número de disco
7# $2 Número de particion
8# $3 Nombre canónico de la imagen (sin extensión)
9# $4 Dirección del repositorio (REPO, por defecto)
10#___________________________________________________
11
12
13#$OG_ERR_NOTEXEC    Si no es llamada por OG client
14#$OG_ERR_LOCKED=4    Si la particion está bloqueada.
15
16
17#Codigos de error del scripts createImage
18#@exception OG_ERR_FORMAT     # 1 formato incorrecto.
19#@exception OG_ERR_PARTITION  # 3 Error en partición de disco o en su sistema de archivos
20#@exception OG_ERR_IMAGE      # 5 Error en funcion ogCreateImage o ogRestoreImage.
21#@exception OG_ERR_NOTWRITE   # 14 error de escritura
22#@exception OG_ERR_NOTCACHE   # 15 si cache no existe 15
23#@exception OG_ERR_CACHESIZE  # 16 si espacio de la cache local o remota no tiene espacio 16
24#@exception OG_ERR_REDUCEFS   # 17 error al reducir sistema de archivos.
25#@exception OG_ERR_EXTENDFS   # 18 Errror al expandir el sistema de archivos.
26
27
28#Códigos de error de la funcion ogCreateImage
29
30
31TIME1=$SECONDS
32
33#TODO: revisar las variables.
34OGLOGSESSION="${OGLOGSESSION=:-/tmp/session.log}"
35OGLOGCOMMAND="${OGLOGCOMMAND=:-/tmp/command.log}"
36OGLOGSESSION="/tmp/session.log"
37OGLOGCOMMAND="/tmp/command.log"
38
39echo " " > $OGLOGSESSION
40echo " " > $OGLOGCOMMAND
41echo " " > ${OGLOGCOMMAND}.tmp
42
43# Registro de ejecución
44echo $* >> $OGLOGFILE
45
46echo "$*" &>> $OGLOGSESSION | $(tail -n 1 $OGLOGSESSION >> $OGLOGFILE)
47
48
49# Solo ejecutable por OpenGnSys Client.
50PATH=$PATH:$(dirname $0)
51PROG=$(basename $0)
52CALLER=$(ogGetCaller)
53if [ "$CALLER" != "ogAdmClient" ]; then
54        ogRaiseError $OG_ERR_NOTEXEC "$CALLER -> $PROG"
55        exit $?
56fi
57
58# Si el origen(pariticion) esta bloqueada salir.
59
60#if ogIsLocked $1 $2; then
61#       ogRaiseError $OG_ERR_LOCKED "$MSG_PARTITION, $1 $2"
62#       exit $?
63#fi
64
65
66# Valor por defecto para el repositorio.
67REPO=${4:-"REPO"}
68[ "$REPO" == "$(ogGetRepoIp)" ] && REPO="REPO"
69[ "$REPO" == "$(ogGetIpAddress)" ] && REPO="CACHE"
70[ "$REPO" == "CACHE" ] && REPO="CACHE"
71
72# Si el destino es REPO y el cliente no está en modo "admin"; activar repositorio para escritura,
73if [ "$REPO" == "REPO" -a "$boot" != "admin"  ]
74then
75        CambiarAcceso admin &>> $OGLOGFILE
76        RETVAL=$?
77        [ $RETVAL -gt 0 ] && exit $RETVAL       
78fi
79
80
81
82if [ -f createImage$ogengine ]; then
83        createImage$ogengine "$1" "$2" "$REPO" /"$3" &>> $OGLOGFILE
84else
85        createImage "$1" "$2" "$REPO" /"$3" &>> $OGLOGCOMMAND
86fi
87RETVAL=$?
88
89[ "$REPO" == "REPO" -a "$boot" != "admin" ] && CambiarAcceso user
90
91if [ $RETVAL == 0 ]
92then
93        rm $OGLOGFILE
94        touch $OGLOGFILE
95else
96        echo $RETVAL &>> $OGLOGFILE
97fi
98
99exit $RETVAL
100
Note: See TracBrowser for help on using the repository browser.