diff options
Diffstat (limited to 'admin/Interface')
-rwxr-xr-x | admin/Interface/CambiarAcceso | 5 | ||||
-rwxr-xr-x | admin/Interface/CrearImagen | 15 | ||||
-rwxr-xr-x | admin/Interface/EjecutarScript | 32 | ||||
-rwxr-xr-x | admin/Interface/RestaurarImagen | 80 | ||||
-rwxr-xr-x | admin/Interface/getConfiguration | 55 |
5 files changed, 119 insertions, 68 deletions
diff --git a/admin/Interface/CambiarAcceso b/admin/Interface/CambiarAcceso index 210b3d80..64516e4f 100755 --- a/admin/Interface/CambiarAcceso +++ b/admin/Interface/CambiarAcceso @@ -44,6 +44,9 @@ umount $OGIMG ogEcho info "$PROG: Montar repositorio $REPO por $PROTO en modo $1" case "$PROTO" in nfs) mount -t nfs $REPOIP:$OGIMG $OGIMG -o $MODE ;; - smb) mount -t cifs //$REPOIP/ogimages $OGIMG -o $MODE,serverino,acl,username=opengnsys,password=og ;; + smb) PASS=$(grep "^[ ]*\(export \)\?OPTIONS=" /scripts/ogfunctions 2>&1 | \ + sed 's/\(.*\)pass=\(\w*\)\(.*\)/\2/') + PASS=${PASS:-"og"} + mount.cifs //$REPOIP/ogimages $OGIMG -o rw,serverino,acl,username=opengnsys,password=$PASS esac diff --git a/admin/Interface/CrearImagen b/admin/Interface/CrearImagen index abc6edea..1d59da29 100755 --- a/admin/Interface/CrearImagen +++ b/admin/Interface/CrearImagen @@ -28,11 +28,24 @@ #Códigos de error de la funcion ogCreateImage +TIME1=$SECONDS +#TODO: revisar las variables. +OGLOGSESSION="${OGLOGSESSION=:-/tmp/session.log}" +OGLOGCOMMAND="${OGLOGCOMMAND=:-/tmp/command.log}" +OGLOGSESSION="/tmp/session.log" +OGLOGCOMMAND="/tmp/command.log" + +echo " " > $OGLOGSESSION +echo " " > $OGLOGCOMMAND +echo " " > ${OGLOGCOMMAND}.tmp # Registro de ejecución echo $* >> $OGLOGFILE +echo "$*" &>> $OGLOGSESSION | $(tail -n 1 $OGLOGSESSION >> $OGLOGFILE) + + # Solo ejecutable por OpenGnSys Client. PATH=$PATH:$(dirname $0) PROG=$(basename $0) @@ -69,7 +82,7 @@ fi if [ -f createImage$ogengine ]; then createImage$ogengine "$1" "$2" "$REPO" /"$3" &>> $OGLOGFILE else - createImage "$1" "$2" "$REPO" /"$3" &>> $OGLOGFILE + createImage "$1" "$2" "$REPO" /"$3" &>> $OGLOGCOMMAND fi RETVAL=$? diff --git a/admin/Interface/EjecutarScript b/admin/Interface/EjecutarScript index 3de64815..431164b9 100755 --- a/admin/Interface/EjecutarScript +++ b/admin/Interface/EjecutarScript @@ -1,21 +1,33 @@ #!/bin/bash +TIME1=$SECONDS -echo -e >> $OGLOGFILE -echo "Contenido de la ejecucion: *****************************" >> $OGLOGFILE +OGLOGSESSION="${OGLOGSESSION=:-/tmp/session.log}" +OGLOGCOMMAND="${OGLOGCOMMAND=:-/tmp/command.log}" + +OGLOGSESSION="/tmp/session.log" +OGLOGCOMMAND="/tmp/command.log" + +echo " " > $OGLOGSESSION +echo " " > $OGLOGCOMMAND +echo " " > ${OGLOGCOMMAND}.tmp + + +echo "START JOBS ***************************** " | tee -a $OGLOGSESSION $OGLOGFILE + +echo "Instrucciones a ejecutar: *****************************" >> $OGLOGFILE cat $1 >> $OGLOGFILE -echo -e >> $OGLOGFILE -echo -e >> $OGLOGFILE -echo "Salida: *****************************" >> $OGLOGFILE + +echo "Salida de las instrucciones: *****************************" >> $OGLOGFILE chmod +x $1 -$1 &>> $OGLOGFILE +$1 &>> $OGLOGCOMMAND RETVAL=$? echo $RETVAL &>> $OGLOGFILE - +TIME=$[SECONDS-TIME1] if [ $RETVAL == 0 ] then - rm $OGLOGFILE - touch $OGLOGFILE + echo "[100] Duracion de la operacion $[TIME/60]m $[TIME%60]s" | tee -a $OGLOGSESSION $OGLOGFILE else - echo $RETVAL &>> $OGLOGFILE + echo "ERROR no operacion no realizada" | tee -a $OGLOGSESSION $OGLOGFILE fi +echo "END JOBS ***************************** " | tee -a $OGLOGSESSION $OGLOGFILE exit $RETVAL
\ No newline at end of file diff --git a/admin/Interface/RestaurarImagen b/admin/Interface/RestaurarImagen index 90299ba9..2b20d054 100755 --- a/admin/Interface/RestaurarImagen +++ b/admin/Interface/RestaurarImagen @@ -25,17 +25,34 @@ #@exception OG_ERR_IMGSIZEPARTITION 30 Tamaño de la particion es menor al tamaño de la imagen. #@todo: el scripts restoreImage limitarlo a origen:fichero destino:particion #@version 1.0.1 - Separación en protocolos de transferencia y postconfiguracion -#@author +#@author Antonio J. Doblas Viso. Universidad de Málaga #@date 2011-05-11 -# +#@version 1.0.1 - Separación de los ficheros-log para ser gestionado por el httpd-log +#@author Antonio J. Doblas Viso. Universidad de Málaga +#@date 2011-05-11 + + +TIME1=$SECONDS +OGLOGSESSION="${OGLOGSESSION=:-/tmp/session.log}" +OGLOGCOMMAND="${OGLOGCOMMAND=:-/tmp/command.log}" +OGLOGSESSION="/tmp/session.log" +OGLOGCOMMAND="/tmp/command.log" + +echo " " > $OGLOGSESSION +echo " " > $OGLOGCOMMAND +echo " " > ${OGLOGCOMMAND}.tmp # Registro de ejecución -echo $* >> $OGLOGFILE +echo $* >> $OGLOGSESSION +echo "$*" &>> $OGLOGSESSION | $(tail -n 1 $OGLOGSESSION >> $OGLOGFILE) + + +echo "[1] Iniciando $0 $*" | tee -a $OGLOGSESSION $OGLOGFILE # Si el origen(pariticion) esta bloqueada salir. -echo "TODO comprobando si esta bloqueado el $1 $2" &>> $OGLOGFILE +echo "TODO comprobando si esta bloqueado el $1 $2" | tee -a $OGLOGSESSION $OGLOGFILE #if ogIsLocked $1 $2; then # ogRaiseError $OG_ERR_LOCKED "$MSG_PARTITION, $1 $2" # exit $? @@ -50,8 +67,8 @@ REPO=${4:-"REPO"} if [ "$REPO" == "CACHE" ] then - echo "Iniciando un ogRestoreImage CACHE /$3 $1 $2" &>> $OGLOGFILE - ogRestoreImage CACHE /"$3" "$1" "$2" &>> $OGLOGFILE + echo "[2] Iniciando un ogRestoreImage CACHE $3 $1 $2" | tee -a $OGLOGSESSION $OGLOGFILE + ogRestoreImage CACHE "$3" "$1" "$2" &>> $OGLOGCOMMAND RETVAL=$? fi @@ -59,38 +76,49 @@ fi if [ "$REPO" == "REPO" ] then - echo "updateCache REPO /$3.img $5 $6" &>> $OGLOGFILE - updateCache REPO /$3.img $5 $6 &>> $OGLOGFILE + echo "[2] updateCache REPO \"/$3.img\" $5 $6" | tee -a $OGLOGSESSION $OGLOGFILE + TIME2=$SECONDS + updateCache REPO "/$3.img" "$5" "$6" &>> $OGLOGCOMMAND RETVAL=$? + TIME2=$[SECONDS-TIME2] + echo " [ ] Duracion del subproceso updateCache $[TIME2/60]m $[TIME2%60]s" | tee -a $OGLOGSESSION $OGLOGFILE case $RETVAL in - 0) - echo "updateCache (correcto); re realiza ogRestoreImage REPO /$3 $1 $2 UNICAST" &>> $OGLOGFILE - ogRestoreImage CACHE /"$3" "$1" "$2" &>> $OGLOGFILE + 0) + echo "[50] updateCache (correcto)" | tee -a $OGLOGSESSION $OGLOGFILE + echo "[55] Restaurando la imagen desde la cache con comando: ogRestoreImage CACHE $3 $1 $2 UNICAST" | tee -a $OGLOGSESSION $OGLOGFILE + TIME3=$SECONDS + ogRestoreImage CACHE "$3" "$1" "$2" &> $OGLOGCOMMAND RETVAL=$? + TIME3=$[SECONDS-TIME3] + echo " [ ] Duracion del subproceso ogRestoreImage CACHE $[TIME3/60]m $[TIME3%60]s" | tee -a $OGLOGSESSION $OGLOGFILE ;; 15) - echo "updateCache(no hay CACHE); se realiza ogRestoreImage REPO /$3 $1 $2 UNICAST" &>> $OGLOGFILE - ogRestoreImage REPO /"$3" "$1" "$2" &>> $OGLOGFILE - RETVAL=$? + echo "[50] updateCache(no hay CACHE); se realiza ogRestoreImage REPO $3 $1 $2 UNICAST" | tee -a $OGLOGSESSION $OGLOGFILE + echo "[55] Se restaura la imagen directamente desde el REPO: ogRestoreImage REPO $3 $1 $2 UNICAST" | tee -a $OGLOGSESSION $OGLOGFILE + TIME3=$SECONDS + ogRestoreImage REPO "$3" "$1" "$2" &> $OGLOGCOMMAND + RETVAL=$? ;; 16) - echo "updateCache(no hay espacio sufiente en la CACHE), Se realiza ogRestoreImage REPO /$3 $1 $2 UNICAST" &>> $OGLOGFILE - ogRestoreImage REPO /"$3" "$1" "$2" &>> $OGLOGFILE + echo "[50] updateCache(no hay espacio sufiente en la CACHE), Se realiza ogRestoreImage REPO $3 $1 $2 UNICAST" | tee -a $OGLOGSESSION $OGLOGFILE + TIME3=$SECONDS + ogRestoreImage REPO "$3" "$1" "$2" &> $OGLOGCOMMAND RETVAL=$? + TIME3=$[SECONDS-TIME3] + echo " [ ] Duracion del subproceso ogRestoreImage REPO $[TIME3/60]m $[TIME3%60]s" | tee -a $OGLOGSESSION $OGLOGFILE ;; - esac + esac fi if [ $RETVAL == 0 ] then - echo "Iniciando la Configuracion del Sistema Restaurado" &>> $OGLOGFILE - configureOs $1 $2 -fi -if [ $RETVAL == 0 ] -then - rm $OGLOGFILE - touch $OGLOGFILE -else - echo $RETVAL &>> $OGLOGFILE + echo "[90] Iniciando la Configuracion del Sistema Restaurado" | tee -a $OGLOGSESSION $OGLOGFILE + configureOs "$1" "$2" fi + +TIME=$[SECONDS-TIME1] +echo "[100] Duracion de la operacion $[TIME/60]m $[TIME%60]s" | tee -a $OGLOGSESSION $OGLOGFILE + + exit $RETVAL + diff --git a/admin/Interface/getConfiguration b/admin/Interface/getConfiguration index 628c9846..a69a041a 100755 --- a/admin/Interface/getConfiguration +++ b/admin/Interface/getConfiguration @@ -6,40 +6,35 @@ # par=Número de particion\tcod=Código de partición\tsfi=Sistema de ficheros\tsoi=Sistema instalado\ttam=Tamaño de la partición\n #_______________________________________________________________________________________________________________________________ -cfg=$(listPrimaryPartitions 1) -particiones=$(echo $cfg | awk '{n=split($0,sep," ");print n}') -cfg="" -for ((par=1;par<=$particiones;par++)); - do - # Tipo de partición o sistema de fichero - fsi=$(getFsType 1 $par 2>/dev/null) - fsi=${fsi:-"EMPTY"} - # Tamaño de la particón - tam=$(ogGetPartitionSize 1 $par 2>/dev/null) - tam=${tam:-"0"} - # Código de la partición - cod=$(ogFsToId $fsi) +particiones=$(listPartitions 1 | wc -w) # Incluir todas las particiones +cfg="0::::$(ogGetDiskSize 1);" # e información de disco (partición 0) - - if [ $cod == 82 ]; then - soi=" " - else - # Sistema de fichero instalado - soi=$(getOsVersion 1 $par 2>/dev/null) - soi=$(echo $soi | awk '{split($0,sep,":"); print sep[2]}') - fi - - cfg=$(echo $cfg$par":"$cod":"$fsi":"$soi":"$tam";") +for ((par=1;par<=$particiones;par++)); +do + # Tipo de partición o sistema de fichero + fsi=$(getFsType 1 $par 2>/dev/null) + fsi=${fsi:-"EMPTY"} + # Código de la partición + cod=$(ogFsToId $fsi) + # Tamaño de la particón + tam=$(ogGetPartitionSize 1 $par 2>/dev/null) + tam=${tam:-"0"} + # Sistema de fichero instalado + if [ $cod == 82 ]; then + soi=" " + else + soi=$(getOsVersion 1 $par 2>/dev/null | cut -f2 -d:) + fi + cfg="$cfg$par:$cod:$fsi:$soi:$tam;" done echo $cfg | awk '{ - n=split($0,sep,";"); - for(i=1;i<n;i++){ - split(sep[i],dua,":"); - printf("par=%s\tcpt=%s\tfsi=%s\tsoi=%s\ttam=%s\n",dua[1],dua[2],dua[3],dua[4],dua[5]); - } - - }' + n=split($0,sep,";"); + for(i=1;i<n;i++){ + split(sep[i],dua,":"); + printf("par=%s\tcpt=%s\tfsi=%s\tsoi=%s\ttam=%s\n",dua[1],dua[2],dua[3],dua[4],dua[5]); + } + }' |