diff options
author | irina <irinagomez@us.es> | 2013-11-25 13:41:59 +0000 |
---|---|---|
committer | irina <irinagomez@us.es> | 2013-11-25 13:41:59 +0000 |
commit | ef938d25df3df263b1ce928f5db71684f0f4bd6b (patch) | |
tree | bdc48e896ca2623c2fc8d4a37bb93044041d3238 | |
parent | 8d3a9e0b43b14ce4674c347126b9523798d39ee4 (diff) |
#565 Adaptación script sincronizadas version 2 a la consola de administración
git-svn-id: https://opengnsys.es/svn/branches/version1.0@4091 a21b9725-9963-47de-94b9-378ad31fedc9
-rwxr-xr-x | admin/Interface/CrearImagenBasica | 9 | ||||
-rwxr-xr-x | admin/Interface/CrearSoftIncremental | 28 | ||||
-rwxr-xr-x | admin/Interface/RestaurarImagenBasica | 35 | ||||
-rwxr-xr-x | admin/Interface/RestaurarSoftIncremental | 33 | ||||
-rw-r--r-- | admin/WebConsole/comandos/RestaurarImagen.php | 89 | ||||
-rw-r--r-- | admin/WebConsole/comandos/RestaurarImagenBasica.php | 6 | ||||
-rw-r--r-- | admin/WebConsole/comandos/RestaurarSoftIncremental.php | 6 | ||||
-rw-r--r-- | admin/WebConsole/comandos/jscripts/RestaurarImagenBasica.js | 2 | ||||
-rw-r--r-- | admin/WebConsole/comandos/jscripts/RestaurarSoftIncremental.js | 2 | ||||
-rw-r--r-- | admin/WebConsole/includes/opcionesprotocolos.php | 101 | ||||
-rw-r--r-- | admin/WebConsole/includes/pintaParticiones.php | 6 | ||||
-rwxr-xr-x | client/shared/scripts/createBaseImage | 14 | ||||
-rwxr-xr-x | client/shared/scripts/createDiffImage | 8 | ||||
-rwxr-xr-x | client/shared/scripts/restoreBaseImage | 28 | ||||
-rwxr-xr-x | client/shared/scripts/restoreDiffImage | 22 |
15 files changed, 260 insertions, 129 deletions
diff --git a/admin/Interface/CrearImagenBasica b/admin/Interface/CrearImagenBasica index 2e201115..9fd487f4 100755 --- a/admin/Interface/CrearImagenBasica +++ b/admin/Interface/CrearImagenBasica @@ -31,6 +31,7 @@ # Control parámetros #___________________________________________________________________ + PROG="$(basename $0)" if [ $# -lt 7 ]; then usage=" ndisco nparticion nombre_imagen_basica ip_repositorio" @@ -39,6 +40,14 @@ exit $? fi + #Load engine configurator from engine.cfg file. + #Carga el configurador del engine desde el fichero engine.cfg + [ -z $OGENGINECONFIGURATE ] && source /opt/opengnsys/etc/engine.cfg + + # Clear temporary file used as log track by httpdlog + # Limpia los ficheros temporales usados como log de seguimiento para httpdlog + echo " " > $OGLOGSESSION; echo " " > $OGLOGCOMMAND; echo " " > ${OGLOGCOMMAND}.tmp + if [ $7 -eq 1 ]; then #sincronizacion1 ogCrearImagenBasica "$@" diff --git a/admin/Interface/CrearSoftIncremental b/admin/Interface/CrearSoftIncremental index 89e740fe..8bba0dd3 100755 --- a/admin/Interface/CrearSoftIncremental +++ b/admin/Interface/CrearSoftIncremental @@ -31,7 +31,6 @@ # # Control parámetros #___________________________________________________________________ - PROG="$(basename $0)" if [ $# -lt 8 ]; then usage=" ndisco nparticion nombre_imagen_basica ip_repositorio nombre_imagen_incremental" @@ -40,6 +39,13 @@ exit $? fi + #Load engine configurator from engine.cfg file. + #Carga el configurador del engine desde el fichero engine.cfg + [ -z $OGENGINECONFIGURATE ] && source /opt/opengnsys/etc/engine.cfg + + # Clear temporary file used as log track by httpdlog + # Limpia los ficheros temporales usados como log de seguimiento para httpdlog + echo " " > $OGLOGSESSION; echo " " > $OGLOGCOMMAND; echo " " > ${OGLOGCOMMAND}.tmp if [ $8 -eq 1 ]; then #sincronizacion1 @@ -47,7 +53,23 @@ fi - #if [ $8 -eq 2 ]; then + if [ $8 -eq 2 ]; then + #sincronizacion 2 + flag=$6 + WHOLE=${flag:0:1} + DELFILE=${flag:1:1} + COMPRESS=${flag:2:1} + + # Nota los valores se pasan como variables de entorno, + # la idea es que mas adelante vayan en el fichero PXE. + [ $WHOLE -eq 1 ] && export ogrsyncw=true || export ogrsyncw=false + [ $DELFILE -eq 1 ] && export ogrsyncdel=true || export ogrsyncdel=false + [ $COMPRESS -eq 1 ] && export ogrsyncz=true || export ogrsyncz=false - #fi + # REPOSITORIO: Si la ip es la del propio equipo CACHE, si no REPO + CLIENTIP=$(ogGetIpAddress) + [ "$4" == "$CLIENTIP" ] && DEST=CACHE || DEST=REPO + createDiffImage $1 $2 $DEST "$3" "$5" + + fi diff --git a/admin/Interface/RestaurarImagenBasica b/admin/Interface/RestaurarImagenBasica index da17a591..8fc169df 100755 --- a/admin/Interface/RestaurarImagenBasica +++ b/admin/Interface/RestaurarImagenBasica @@ -40,12 +40,43 @@ ogRaiseError $OG_ERR_FORMAT "$MSG_FORMAT: $PROG $usage" exit $? fi + + #Load engine configurator from engine.cfg file. + #Carga el configurador del engine desde el fichero engine.cfg + [ -z $OGENGINECONFIGURATE ] && source /opt/opengnsys/etc/engine.cfg + + # Clear temporary file used as log track by httpdlog + # Limpia los ficheros temporales usados como log de seguimiento para httpdlog + echo " " > $OGLOGSESSION; echo " " > $OGLOGCOMMAND; echo " " > ${OGLOGCOMMAND}.tmp + + if [ $9 -eq 1 ]; then #sincronizacion1 ogRestaurarImagenBasica "$@" fi - #if [ $9 -eq 2 ]; then + if [ $9 -eq 2 ]; then + #sincronizacion2 + # Opciones de clonacion + flag=$6 + WHOLE=${flag:0:1} + DELFILE=${flag:1:1} + COMPRESS=${flag:2:1} + + # Nota los valores se pasan como variables de entorno, + # la idea es que mas adelante vayan en el fichero PXE. + [ $WHOLE -eq 1 ] && export ogrsyncw=true || export ogrsyncw=false + [ $DELFILE -eq 1 ] && export ogrsyncdel=true || export ogrsyncdel=false + [ $COMPRESS -eq 1 ] && export ogrsyncz=true || export ogrsyncz=false - #fi + # Origen de la imagen. + [ $8 -eq 0 ] && DEST="CACHE" || DEST="REPO" + + # Protocolo de clonacion y opciones + PROTO=${5%_*} + OPT=${5#*_} + + restoreBaseImage $DEST "$3" $1 $2 $PROTO $OPT + + fi diff --git a/admin/Interface/RestaurarSoftIncremental b/admin/Interface/RestaurarSoftIncremental index 9b2b9681..353fdf9b 100755 --- a/admin/Interface/RestaurarSoftIncremental +++ b/admin/Interface/RestaurarSoftIncremental @@ -33,13 +33,42 @@ # # Control parámetros #___________________________________________________________________ + #Load engine configurator from engine.cfg file. + #Carga el configurador del engine desde el fichero engine.cfg + [ -z $OGENGINECONFIGURATE ] && source /opt/opengnsys/etc/engine.cfg + + # Clear temporary file used as log track by httpdlog + # Limpia los ficheros temporales usados como log de seguimiento para httpdlog + echo " " > $OGLOGSESSION; echo " " > $OGLOGCOMMAND; echo " " > ${OGLOGCOMMAND}.tmp + if [ ${10} -eq 1 ]; then #sincronizacion1 ogRestaurarSoftIncremental "$@" fi - #if [ ${10} -eq 2 ]; then + if [ ${10} -eq 2 ]; then #sincronizacion2 - #fi + # Opciones de clonacion + flag=$7 + WHOLE=${flag:0:1} + DELFILE=${flag:1:1} + COMPRESS=${flag:2:1} + + # Nota los valores se pasan como variables de entorno, + # la idea es que mas adelante vayan en el fichero PXE. + [ $WHOLE -eq 1 ] && export ogrsyncw=true || export ogrsyncw=false + [ $DELFILE -eq 1 ] && export ogrsyncdel=true || export ogrsyncdel=false + [ $COMPRESS -eq 1 ] && export ogrsyncz=true || export ogrsyncz=false + + # Origen de la imagen. + [ $9 -eq 0 ] && DEST="CACHE" || DEST="REPO" + + # Protocolo de clonacion y opciones + PROTO=${6%_*} + OPT=${6#*_} + + restoreDiffImage $DEST "$5" $1 $2 $PROTO $OPT + + fi diff --git a/admin/WebConsole/comandos/RestaurarImagen.php b/admin/WebConsole/comandos/RestaurarImagen.php index fdabc89b..e1633415 100644 --- a/admin/WebConsole/comandos/RestaurarImagen.php +++ b/admin/WebConsole/comandos/RestaurarImagen.php @@ -17,6 +17,7 @@ include_once("../includes/HTMLSELECT.php"); include_once("../includes/HTMLCTESELECT.php"); include_once("../includes/TomaDato.php"); include_once("../includes/RecopilaIpesMacs.php"); +include_once("../includes/opcionesprotocolos.php"); include_once("../idiomas/php/".$idioma."/comandos/restaurarimagen_".$idioma.".php"); include_once("../idiomas/php/".$idioma."/comandos/opcionesacciones_".$idioma.".php"); include_once("../includes/ConfiguracionesParticiones.php"); @@ -205,94 +206,6 @@ function HTMLSELECT_repositorios($cmd,$idcentro,$idrepositorio,$particion){ } -function mcast_syntax($cmd,$ambito,$idambito) -{ -//if (isset($_GET["idambito"])) $idambito=$_GET["idambito"]; -if ($ambito == 4) -{ -$cmd->texto='SELECT pormul, ipmul, modomul, velmul, puestos FROM aulas - WHERE aulas.idaula=' . $idambito ; -} - -if ($ambito == 8) -{ -$cmd->texto='SELECT pormul, ipmul, modomul, velmul, puestos FROM aulas - JOIN gruposordenadores ON aulas.idaula=gruposordenadores.idaula - WHERE gruposordenadores.idgrupo=' . $idambito ; -} - -if ($ambito == 16) -{ -$cmd->texto='SELECT pormul, ipmul, modomul, velmul, puestos FROM aulas - JOIN ordenadores ON ordenadores.idaula=aulas.idaula - WHERE ordenadores.idordenador=' . $idambito ; -} - - $rs=new Recordset; - $rs->Comando=&$cmd; - if ($rs->Abrir()){ - $rs->Primero(); - $mcastsyntax = $rs->campos["pormul"] . ':'; - - $rs->Siguiente(); - switch ($rs->campos["modomul"]) - { - case 1: - $mcastsyntax.="half-duplex:"; - break; - default: - $mcastsyntax.="full-duplex:"; - break; - } - $rs->Siguiente(); - $mcastsyntax.=$rs->campos["ipmul"] . ':'; - - $rs->Siguiente(); - $mcastsyntax.=$rs->campos["velmul"] .'M:'; - - $rs->Siguiente(); - $mcastsyntax.=$rs->campos["puestos"] . ':'; - - $rs->Cerrar(); - } - $mcastsyntax.="60"; - - return($mcastsyntax); -} - - -function torrent_syntax($cmd,$ambito,$idambito) -{ -if ($ambito == 4) -{ - $cmd->texto='SELECT modp2p, timep2p FROM aulas - WHERE aulas.idaula=' . $idambito ; -} -if ($ambito == 8) -{ - $cmd->texto='SELECT modp2p, timep2p FROM aulas - JOIN gruposordenadores ON aulas.idaula=gruposordenadores.idaula - WHERE gruposordenadores.idgrupo=' . $idambito ; -} -if ($ambito == 16) -{ - $cmd->texto='SELECT modp2p, timep2p FROM aulas - JOIN ordenadores ON ordenadores.idaula=aulas.idaula - WHERE ordenadores.idordenador=' . $idambito ; -} - -$rs=new Recordset; -$rs->Comando=&$cmd; -if ($rs->Abrir()){ - $rs->Primero(); - $torrentsyntax=$rs->campos["modp2p"] . ':'; - $rs->Siguiente(); - $torrentsyntax.=$rs->campos["timep2p"]; - $rs->Siguiente(); - $rs->Cerrar(); -} -return($torrentsyntax); -} ?> diff --git a/admin/WebConsole/comandos/RestaurarImagenBasica.php b/admin/WebConsole/comandos/RestaurarImagenBasica.php index 57411ff6..e08a7211 100644 --- a/admin/WebConsole/comandos/RestaurarImagenBasica.php +++ b/admin/WebConsole/comandos/RestaurarImagenBasica.php @@ -17,6 +17,7 @@ include_once("../includes/HTMLSELECT.php"); include_once("../includes/HTMLCTESELECT.php"); include_once("../includes/TomaDato.php"); include_once("../includes/RecopilaIpesMacs.php"); +include_once("../includes/opcionesprotocolos.php"); include_once("../idiomas/php/".$idioma."/comandos/restaurarimagenbasica_".$idioma.".php"); include_once("../idiomas/php/".$idioma."/comandos/opcionesacciones_".$idioma.".php"); include_once("./includes/capturaacciones.php"); @@ -71,6 +72,7 @@ if (isset($_POST["fk_nombreSO"])) $fk_nombreSO=$_POST["fk_nombreSO"]; </HEAD> <BODY> <? + //________________________________________________________________________________________________________ // // @@ -82,6 +84,9 @@ if (isset($_POST["fk_nombreSO"])) $fk_nombreSO=$_POST["fk_nombreSO"]; include_once("./includes/FiltradoAmbito.php"); //________________________________________________________________________________________________________ // + + + echo '<P align=center><SPAN align=center class=subcabeceras>'.$TbMsg[19].'</SPAN></P>'; if($ambito!=$AMBITO_ORDENADORES){ $cadenaid=""; @@ -218,5 +223,6 @@ function opcionesAdicionales() $tablaHtml.=' </table>'; echo $tablaHtml; } + ?> diff --git a/admin/WebConsole/comandos/RestaurarSoftIncremental.php b/admin/WebConsole/comandos/RestaurarSoftIncremental.php index 997fac6a..b030ce2b 100644 --- a/admin/WebConsole/comandos/RestaurarSoftIncremental.php +++ b/admin/WebConsole/comandos/RestaurarSoftIncremental.php @@ -17,6 +17,7 @@ include_once("../includes/HTMLSELECT.php"); include_once("../includes/HTMLCTESELECT.php"); include_once("../includes/TomaDato.php"); include_once("../includes/RecopilaIpesMacs.php"); +include_once("../includes/opcionesprotocolos.php"); include_once("../idiomas/php/".$idioma."/comandos/restaurarsoftincremental_".$idioma.".php"); include_once("../idiomas/php/".$idioma."/comandos/opcionesacciones_".$idioma.".php"); include_once("./includes/capturaacciones.php"); @@ -71,6 +72,7 @@ if (isset($_POST["fk_nombreSO"])) $fk_nombreSO=$_POST["fk_nombreSO"]; </HEAD> <BODY> <? + //________________________________________________________________________________________________________ // // @@ -215,5 +217,9 @@ function opcionesAdicionales() $tablaHtml.=' </table>'; echo $tablaHtml; } + + ?> + + diff --git a/admin/WebConsole/comandos/jscripts/RestaurarImagenBasica.js b/admin/WebConsole/comandos/jscripts/RestaurarImagenBasica.js index 1be41839..3496ba72 100644 --- a/admin/WebConsole/comandos/jscripts/RestaurarImagenBasica.js +++ b/admin/WebConsole/comandos/jscripts/RestaurarImagenBasica.js @@ -44,7 +44,7 @@ atributos+="msy="+p+RC; // Método de clonación var desplemet=document.getElementById("despletpt_"+idradio); // Desplegable metodo de syncronización - var p=desplemet.selectedIndex // Toma índice seleccionado + var p=desplemet.value // Toma índice seleccionado atributos+="tpt="+p+RC; // Método de clonación var chrChk=document.getElementById('whl-'+idradio); // Recupera objeto fila de la tabla opciones adicionales diff --git a/admin/WebConsole/comandos/jscripts/RestaurarSoftIncremental.js b/admin/WebConsole/comandos/jscripts/RestaurarSoftIncremental.js index bd1eb463..7fe6dcad 100644 --- a/admin/WebConsole/comandos/jscripts/RestaurarSoftIncremental.js +++ b/admin/WebConsole/comandos/jscripts/RestaurarSoftIncremental.js @@ -47,7 +47,7 @@ atributos+="msy="+p+RC; // Método de clonación var desplemet=document.getElementById("despletpt_"+idradio); // Desplegable metodo de syncronización - var p=desplemet.selectedIndex // Toma índice seleccionado + var p=desplemet.value // Toma índice seleccionado atributos+="tpt="+p+RC; // Método de transmision var chrChk=document.getElementById('whl-'+idradio); // Recupera objeto fila de la tabla opciones adicionales diff --git a/admin/WebConsole/includes/opcionesprotocolos.php b/admin/WebConsole/includes/opcionesprotocolos.php new file mode 100644 index 00000000..5002316c --- /dev/null +++ b/admin/WebConsole/includes/opcionesprotocolos.php @@ -0,0 +1,101 @@ +<? +/** + * @file: opcionesprotocolos.php + * @brief: Toma los parametros de mcast y torrent para mostrarlos en las paginas de restaurar imagen (monoliticas y sincronizadas) + * @date: 2013-11-25 + * @copyright GNU Public License v3+ + */ + + +function mcast_syntax($cmd,$ambito,$idambito) +{ +//if (isset($_GET["idambito"])) $idambito=$_GET["idambito"]; +if ($ambito == 4) +{ +$cmd->texto='SELECT pormul, ipmul, modomul, velmul, puestos FROM aulas + WHERE aulas.idaula=' . $idambito ; +} + +if ($ambito == 8) +{ +$cmd->texto='SELECT pormul, ipmul, modomul, velmul, puestos FROM aulas + JOIN gruposordenadores ON aulas.idaula=gruposordenadores.idaula + WHERE gruposordenadores.idgrupo=' . $idambito ; +} + +if ($ambito == 16) +{ +$cmd->texto='SELECT pormul, ipmul, modomul, velmul, puestos FROM aulas + JOIN ordenadores ON ordenadores.idaula=aulas.idaula + WHERE ordenadores.idordenador=' . $idambito ; +} + $rs=new Recordset; + $rs->Comando=&$cmd; + if ($rs->Abrir()){ + $rs->Primero(); + $mcastsyntax = $rs->campos["pormul"] . ':'; + + $rs->Siguiente(); + switch ($rs->campos["modomul"]) + { + case 1: + $mcastsyntax.="half-duplex:"; + break; + default: + $mcastsyntax.="full-duplex:"; + break; + } + $rs->Siguiente(); + $mcastsyntax.=$rs->campos["ipmul"] . ':'; + + $rs->Siguiente(); + $mcastsyntax.=$rs->campos["velmul"] .'M:'; + + $rs->Siguiente(); + $mcastsyntax.=$rs->campos["puestos"] . ':'; + + $rs->Cerrar(); + } + $mcastsyntax.="60"; + + return($mcastsyntax); +} + + +function torrent_syntax($cmd,$ambito,$idambito) +{ +if ($ambito == 4) +{ + $cmd->texto='SELECT modp2p, timep2p FROM aulas + WHERE aulas.idaula=' . $idambito ; +} +if ($ambito == 8) +{ + $cmd->texto='SELECT modp2p, timep2p FROM aulas + JOIN gruposordenadores ON aulas.idaula=gruposordenadores.idaula + WHERE gruposordenadores.idgrupo=' . $idambito ; +} +if ($ambito == 16) +{ + $cmd->texto='SELECT modp2p, timep2p FROM aulas + JOIN ordenadores ON ordenadores.idaula=aulas.idaula + WHERE ordenadores.idordenador=' . $idambito ; +} + +$rs=new Recordset; +$rs->Comando=&$cmd; +if ($rs->Abrir()){ + $rs->Primero(); + $torrentsyntax=$rs->campos["modp2p"] . ':'; + $rs->Siguiente(); + $torrentsyntax.=$rs->campos["timep2p"]; + $rs->Siguiente(); + $rs->Cerrar(); +} +return($torrentsyntax); +} + + + +?> + diff --git a/admin/WebConsole/includes/pintaParticiones.php b/admin/WebConsole/includes/pintaParticiones.php index 928fefcb..973c9af0 100644 --- a/admin/WebConsole/includes/pintaParticiones.php +++ b/admin/WebConsole/includes/pintaParticiones.php @@ -411,8 +411,10 @@ function pintaParticionesRestaurarImagenSincronizacion1($cmd,$configuraciones,$i $metodos.="SYNC2="."SYNC2"; echo '<TD align=center>'.HTMLCTESELECT($metodos,"desplesync_".$icp,"estilodesple","",1,100).'</TD>'; - $metodos="Unicast="."Unicast".chr(13); - $metodos.="Multicast="."Multicast"; + $metodos="UNICAST="."Unicast".chr(13); + $metodos.="MULTICAST_". mcast_syntax($cmd,$ambito,$idambito) ."="."Multicast".chr(13); + $metodos.="TORRENT_". torrent_syntax($cmd,$ambito,$idambito) ."="."Torrent".chr(13); + $metodos.="RSYNC=Rsync"; echo '<TD align=center>'.HTMLCTESELECT($metodos,"despletpt_".$icp,"estilodesple","",1,100).'</TD>'; echo '<td align=center><input type=checkbox name="whole" id="whl-'.$icp.'"></td>';
diff --git a/client/shared/scripts/createBaseImage b/client/shared/scripts/createBaseImage index f08027ac..59a01918 100755 --- a/client/shared/scripts/createBaseImage +++ b/client/shared/scripts/createBaseImage @@ -32,7 +32,8 @@ trap "onexit $1 $2 $3 \"$4\"" 1 2 3 6 9 14 15 ERR # Si salimos con error demontamos la imagen y desbloqueamos la imagen y la particion function onexit() { local exit_status=$? - echo "$MSG_ERR_GENERIC $exit_status" |tee -a $OGLOGFILE $OGLOGSESSION + local MSG="$(ogRaiseError $exit_status \"$1 $2 $3 $4\" 2>&1)" + echo "$MSG" |tee -a $OGLOGFILE $OGLOGSESSION ogUnmountImage $3 "$4" $IMGEXT &>/dev/null if [ $exit_status -ne 4 ]; then ogUnlockImage "$3" "/$4.$IMGEXT" @@ -61,15 +62,19 @@ fi [ $# -ne 4 ] && ogRaiseError $OG_ERR_FORMAT "$MSG_FORMAT: $PROG ndisco nparticion REPO|CACHE imagen" -# Valores por defecto en etc/engine.cfg -IMGEXT="img" -REPOIP=$(ogGetRepoIp) # Limpiamos fichero de log echo -n ""> $OGLOGSESSION +echo " " > $OGLOGCOMMAND echo "[1] $MSG_SCRIPTS_START $0 $*" | tee -a $OGLOGSESSION $OGLOGFILE + +# Valores por defecto en etc/engine.cfg +IMGEXT="img" +REPOIP=$(ogGetRepoIp) + + # Comprobamos si la imagen o la particion estan bloqueada: ogIsImageLocked "$3" "$4.$IMGEXT" && ogRaiseError $OG_ERR_LOCKED "$3 $4.$IMGEXT" ogIsLocked "$1" "$2" && ogRaiseError $OG_ERR_LOCKED "$1 $2" @@ -79,7 +84,6 @@ if [ "$3" == "CACHE" -o "$3" == "cache" ]; then ! ogFindCache >/dev/null && ogRaiseError $OG_ERR_NOTCACHE "CACHE " fi -echo " " > $OGLOGCOMMAND # Obtener información de los parámetros de entrada. PART=$(ogDiskToDev "$1" "$2" 2>/dev/null) || ogRaiseError $OG_ERR_PARTITION "$1 $2" diff --git a/client/shared/scripts/createDiffImage b/client/shared/scripts/createDiffImage index c2905ab3..3c6d33cc 100755 --- a/client/shared/scripts/createDiffImage +++ b/client/shared/scripts/createDiffImage @@ -33,7 +33,8 @@ trap "onexit $1 $2 $3 \"$4\" \"$5\"" 1 2 3 6 9 14 15 ERR function onexit() { local exit_status=$? - echo "$MSG_ERR_GENERIC $exit_status" |tee -a $OGLOGFILE $OGLOGSESSION + local MSG="$(ogRaiseError $exit_status \"$1 $2 $3 $4 $5\" 2>&1)" + echo "$MSG" |tee -a $OGLOGFILE $OGLOGSESSION ogUnmountImage $3 "$5" $DIFFTYPE &>/dev/null ogUnmountImage $3 "$4" $IMGEXT &>/dev/null if [ $exit_status -ne 4 ]; then @@ -69,6 +70,10 @@ fi IMGEXT="img" DIFFEXT="img.diff" DIFFTYPE="diff" + +# Limpiamos los archivo de log +echo -n "" >$OGLOGCOMMAND; echo -n "" $OGLOGSESSION + echo "[1] $MSG_SCRIPTS_START $0 $*" | tee -a $OGLOGSESSION $OGLOGFILE # Comprobamos si la imagen diferencial o la particion estan bloqueada: @@ -83,7 +88,6 @@ ogIsSyncImage "$3" "$4" "img" || ogRaiseError $OG_ERR_DONTSYNC_IMAGE "$3 $4" # Comprobar que no está bloqueada ogIsImageLocked "$3" "$4.$IMGEXT" && ogRaiseError $OG_ERR_LOCKED "$3 $4.$IMGEXT" -echo " " > $OGLOGCOMMAND # Si el repositorio es CACHE comprobamos que exista if [ "$3" == "CACHE" -o "$3" == "cache" ]; then ! ogFindCache >/dev/null && ogRaiseError $OG_ERR_NOTCACHE "CACHE " diff --git a/client/shared/scripts/restoreBaseImage b/client/shared/scripts/restoreBaseImage index 3af93d10..37a7d504 100755 --- a/client/shared/scripts/restoreBaseImage +++ b/client/shared/scripts/restoreBaseImage @@ -29,14 +29,17 @@ trap "onexit $1 \"$2\" $3 $4" 1 2 3 6 9 14 15 ERR # Si salimos con error demontamos la imagen y desbloqueamos la imagen y la particion function onexit() { local exit_status=$? - echo "$MSG_ERR_GENERIC $exit_status" |tee -a $OGLOGFILE $OGLOGSESSION + local MSG="$(ogRaiseError $exit_status \"$1 $2 $3 $4\" 2>&1)" + echo "$MSG" |tee -a $OGLOGFILE $OGLOGSESSION ogUnmountImage "$1" "$2" "$IMGEXT" &>/dev/null [ $exit_status -ne 4 ] && ogUnlock $3 $4 &>/dev/null exit $exit_status } # Limpiamos los archivo de log -echo "" >$OGLOGCOMMAND +echo -n "" >$OGLOGCOMMAND; echo -n "" $OGLOGFILE; echo -n "" $OGLOGSESSION + +echo "[1] $MSG_SCRIPTS_START $0 $*" | tee -a $OGLOGFILE $OGLOGSESSION TIME1=$SECONDS PROG="$(basename $0)" @@ -58,7 +61,7 @@ fi REPOFILE=$(ogGetPath "REPO" "$2.$IMGEXT") || ogRaiseError $OG_ERR_NOTFOUND "REPO, $2.$IMGEXT" # Comprobar que es sincronizable (con REPO) -ogIsSyncImage $1 "$2" $IMGEXT || ogRaiseError $OG_ERR_DONTSYNC_IMAGE "$1 $2" +ogIsSyncImage REPO "$2" $IMGEXT || ogRaiseError $OG_ERR_DONTSYNC_IMAGE "$1 $2" # Comprobamos si el sistema de ficheros se puede montar ogMount "$3" "$4" &>/dev/null || RETVAL=$? @@ -74,7 +77,6 @@ if [ "$RETVAL" ] ; then ogMount "$3" "$4" || ogRaiseError $OG_ERR_FILESYS "$3 $4" fi -echo "[1] $MSG_SCRIPTS_START $0 $*" | tee -a $OGLOGFILE IMGEXT="img" # Comprobamos si la imagen o la particion estan bloqueada: @@ -85,14 +87,14 @@ PROTO=${5:-"UNICAST"} if [ "$1" == "CACHE" -o "$1" == "cache" ]; then # Las imagenes sincronizables aunque sean iguales no tienen el mismo sum. # Sincronizamos si existe el fichero y si no usamos updateCache. - echo "[10] $MSG_SCRIPTS_TASK_START updateCache REPO $2.$IMGEXT $PROTO $6" | tee -a $OGLOGFILE - echo " updateCache REPO" "/$2.$IMGEXT" "$PROTO" "$6" | tee -a $OGLOGFILE + echo "[10] $MSG_SCRIPTS_TASK_START updateCache REPO $2.$IMGEXT $PROTO $6" | tee -a $OGLOGFILE $OGLOGSESSION + echo " updateCache REPO" "/$2.$IMGEXT" "$PROTO" "$6" | tee -a $OGLOGFILE $OGLOGSESSION #updateCache REPO "/$2.$IMGEXT" "$PROTO" "$6" &>> $OGLOGCOMMAND updateCache REPO "/$2.$IMGEXT" "$PROTO" "$6" 2>&1 | tee -a $OGLOGCOMMAND RETVAL=$? if [ "$RETVAL" != "0" ] then - echo "[39] $MSG_SCRIPTS_TASK_END updateCache REPO $2.$IMGEXT $5 $6 con error $RETVAL" | tee -a $OGLOGFILE + echo "[39] $MSG_SCRIPTS_TASK_END updateCache REPO $2.$IMGEXT $5 $6 con error $RETVAL" | tee -a $OGLOGFILE $OGLOGSESSION # RC=15 No hay cache # RC=16 no hay espacio sufiente exit $RETVAL @@ -105,7 +107,7 @@ fi TIME2=$SECONDS # Restaurar la imagen. -echo "[40] $MSG_HELP_ogRestoreImage: $1 $2 $3 $4" | tee -a $OGLOGFILE +echo "[40] $MSG_HELP_ogRestoreImage: $1 $2 $3 $4" | tee -a $OGLOGFILE $OGLOGSESSION ogLock $3 $4 @@ -114,25 +116,25 @@ ogMountImage "$1" "$2" "$IMGEXT" >/dev/null # Comprobar que la imagen completa se ha montado. ogWaitMountImage "$1" "$2" "$IMGEXT" || ogRaiseError $OG_ERR_DONTMOUNT_IMAGE "$1 $2 $IMGEXT: time_out." # Sincronizamos la partición con la imagen. -echo "[60] $MSG_HELP_ogSyncRestore: $1 $2 $IMGEXT $3 $4" |tee -a $OGLOGFILE +echo "[60] $MSG_HELP_ogSyncRestore: $1 $2 $IMGEXT $3 $4" |tee -a $OGLOGFILE $OGLOGSESSION ogSyncRestore "$1" "$2" "$IMGEXT" $3 $4 TIMEAUX2=$[SECONDS-TIME2] -echo " $MSG_SCRIPTS_TASK_END, $MSG_SCRIPTS_TIME_PARTIAL : $[TIMEAUX2/60]m $[TIMEAUX2%60]s" | tee -a $OGLOGFILE +echo " $MSG_SCRIPTS_TASK_END, $MSG_SCRIPTS_TIME_PARTIAL : $[TIMEAUX2/60]m $[TIMEAUX2%60]s" | tee -a $OGLOGFILE $OGLOGSESSION # Desmontamos imagen basica. ogUnmountImage "$1" "$2" "$IMGEXT" # Restableciendo acl ogUnlock $3 $4 -echo "[70] $MSG_HELP_ogRestoreInfoImage" |tee -a $OGLOGFILE +echo "[70] $MSG_HELP_ogRestoreInfoImage" |tee -a $OGLOGFILE $OGLOGSESSION ogRestoreInfoImage $3 $4 &>>$OGLOGCOMMAND # Llamar al script de post-configuración del sistema operativo. -echo "[90] $MSG_HELP_configureOs" |tee -a $OGLOGFILE +echo "[90] $MSG_HELP_configureOs" |tee -a $OGLOGFILE $OGLOGSESSION # el || echo es para evitar que se maneje el error. configureOs $3 $4 &>>$OGLOGCOMMAND || echo "$?" &>>$OGLOGCOMMAND TIME=$[SECONDS-TIME1] -echo "[100] $MSG_SCRIPTS_END $MSG_SCRIPTS_TIME_TOTAL: $[TIME/60]m $[TIME%60]s" |tee -a $OGLOGFILE +echo "[100] $MSG_SCRIPTS_END $MSG_SCRIPTS_TIME_TOTAL: $[TIME/60]m $[TIME%60]s" |tee -a $OGLOGFILE $OGLOGSESSION diff --git a/client/shared/scripts/restoreDiffImage b/client/shared/scripts/restoreDiffImage index 75d15527..c1036e3e 100755 --- a/client/shared/scripts/restoreDiffImage +++ b/client/shared/scripts/restoreDiffImage @@ -29,7 +29,8 @@ trap "onexit $1 \"$2\" $3 $4" 1 2 3 6 9 14 15 ERR # Si salimos con error demontamos la imagen y desbloqueamos la imagen y la particion function onexit() { local exit_status=$? - echo "$MSG_ERR_GENERIC $exit_status" |tee -a $OGLOGFILE $OGLOGSESSION + local MSG="$(ogRaiseError $exit_status \"$1 $2 $3 $4\" 2>&1)" + echo "$MSG" |tee -a $OGLOGFILE $OGLOGSESSION ogUnmountImage "$1" "$2" "$DIFFTYPE" &>/dev/null [ $exit_status -ne 4 ] && ogUnlock $3 $4 &>/dev/null exit $exit_status @@ -37,6 +38,7 @@ function onexit() { # Limpiamos los archivo de log +echo -n ""> $OGLOGSESSION echo "" >$OGLOGCOMMAND TIME1=$SECONDS @@ -52,7 +54,7 @@ fi [ $# -lt 4 ] && ogRaiseError $OG_ERR_FORMAT "$MSG_FORMAT: $PROG REPO|CACHE diff_imagen ndisco nparticion [ UNICAST|MULTICAST|TORRENT ] [opciones protocolo]" -echo "[1] $MSG_SCRIPTS_START $0 $*" | tee -a $OGLOGFILE +echo "[1] $MSG_SCRIPTS_START $0 $*" | tee -a $OGLOGFILE $OGLOGSESSION # Procesar parámetros de entrada DIFFTYPE="diff" @@ -69,13 +71,13 @@ PART=$(ogDiskToDev "$3" "$4" 2>/dev/null ) || ogRaiseError $OG_ERR_PARTITION "$ [ -z $OGENGINECONFIGURATE ] && source /opt/opengnsys/etc/engine.cfg # Comprobar que es sincronizable -ogIsSyncImage $1 "$2" diff || ogRaiseError $OG_ERR_DONTSYNC_IMAGE "$3 $4" +ogIsSyncImage REPO "$2" diff || ogRaiseError $OG_ERR_DONTSYNC_IMAGE "$3 $4" PROTO=${5:-"UNICAST"} if [ "$1" == "CACHE" -o "$1" == "cache" ]; then - echo "[10] $MSG_HELP_updateCache." | tee -a $OGLOGFILE - echo " updateCache REPO" "/$2.$DIFFEXT" "$PROTO" "$6" | tee -a $OGLOGFILE + echo "[10] $MSG_HELP_updateCache." | tee -a $OGLOGFILE $OGLOGSESSION + echo " updateCache REPO" "/$2.$DIFFEXT" "$PROTO" "$6" | tee -a $OGLOGFILE $OGLOGSESSION updateCache REPO "/$2.$DIFFEXT" "$PROTO" "$6" &>> $OGLOGCOMMAND RETVAL=$? if [ "$RETVAL" != "0" ] @@ -87,7 +89,7 @@ if [ "$1" == "CACHE" -o "$1" == "cache" ]; then fi TIMEAUX1=$[SECONDS-TIME] - echo " $MSG_SCRIPTS_TASK_END, $MSG_SCRIPTS_TIME_PARTIAL : $[TIMEAUX1/60]m $[TIMEAUX1%60]s" | tee -a $OGLOGFILE + echo " $MSG_SCRIPTS_TASK_END, $MSG_SCRIPTS_TIME_PARTIAL : $[TIMEAUX1/60]m $[TIMEAUX1%60]s" | tee -a $OGLOGFILE $OGLOGSESSION fi TIME2=$SECONDS @@ -104,7 +106,7 @@ ogWaitMountImage "$1" "$2" "$DIFFTYPE" || ogRaiseError $OG_ERR_DONTMOUNT_IMAGE " ogMount $3 $4 >/dev/null ogLock $3 $4 # Sincronizamos la partición con la imagen. -echo "[60] $MSG_HELP_ogSyncRestore: $1 $2 $DIFFTYPE $3 $4" |tee -a $OGLOGFILE +echo "[60] $MSG_HELP_ogSyncRestore: $1 $2 $DIFFTYPE $3 $4" |tee -a $OGLOGFILE $OGLOGSESSION ogSyncRestore "$1" "$2" "$DIFFTYPE" $3 $4 # Desmontamos la imagen @@ -112,10 +114,10 @@ ogUnmountImage "$1" "$2" "$DIFFTYPE" ogUnlock $3 $4 TIMEAUX2=$[SECONDS-TIME2] -echo " $MSG_SCRIPTS_TASK_END, $MSG_SCRIPTS_TIME_PARTIAL : $[TIMEAUX2/60]m $[TIMEAUX2%60]s" | tee -a $OGLOGFILE +echo " $MSG_SCRIPTS_TASK_END, $MSG_SCRIPTS_TIME_PARTIAL : $[TIMEAUX2/60]m $[TIMEAUX2%60]s" | tee -a $OGLOGFILE $OGLOGSESSION # creando enlaces y restableciendo ACL (en windows) -echo "[70] $MSG_HELP_ogRestoreInfoImage" |tee -a $OGLOGFILE +echo "[70] $MSG_HELP_ogRestoreInfoImage" |tee -a $OGLOGFILE $OGLOGSESSION ogRestoreInfoImage "$3" "$4" &>$OGLOGCOMMAND # Llamar al script de post-configuración del sistema operativo. @@ -125,5 +127,5 @@ configureOs $3 $4 &>>$OGLOGCOMMAND || echo "$?" &>>$OGLOGCOMMAND TIME=$[SECONDS-TIME1] -echo "[100] $MSG_SCRIPTS_END $MSG_SCRIPTS_TIME_TOTAL: $[TIME/60]m $[TIME%60]s" |tee -a $OGLOGFILE +echo "[100] $MSG_SCRIPTS_END $MSG_SCRIPTS_TIME_TOTAL: $[TIME/60]m $[TIME%60]s" |tee -a $OGLOGFILE $OGLOGSESSION |