summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xadmin/Interface/CrearImagenBasica9
-rwxr-xr-xadmin/Interface/CrearSoftIncremental28
-rwxr-xr-xadmin/Interface/RestaurarImagenBasica35
-rwxr-xr-xadmin/Interface/RestaurarSoftIncremental33
-rw-r--r--admin/WebConsole/comandos/RestaurarImagen.php89
-rw-r--r--admin/WebConsole/comandos/RestaurarImagenBasica.php6
-rw-r--r--admin/WebConsole/comandos/RestaurarSoftIncremental.php6
-rw-r--r--admin/WebConsole/comandos/jscripts/RestaurarImagenBasica.js2
-rw-r--r--admin/WebConsole/comandos/jscripts/RestaurarSoftIncremental.js2
-rw-r--r--admin/WebConsole/includes/opcionesprotocolos.php101
-rw-r--r--admin/WebConsole/includes/pintaParticiones.php6
-rwxr-xr-xclient/shared/scripts/createBaseImage14
-rwxr-xr-xclient/shared/scripts/createDiffImage8
-rwxr-xr-xclient/shared/scripts/restoreBaseImage28
-rwxr-xr-xclient/shared/scripts/restoreDiffImage22
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