#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
remotes/github/debian-pkg
Irina Gomez 2013-11-25 13:41:59 +00:00
parent 8d3a9e0b43
commit ef938d25df
15 changed files with 261 additions and 130 deletions

View File

@ -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 "$@"

View File

@ -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}
#fi
# 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
# 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

View File

@ -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}
#fi
# 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.
[ $8 -eq 0 ] && DEST="CACHE" || DEST="REPO"
# Protocolo de clonacion y opciones
PROTO=${5%_*}
OPT=${5#*_}
restoreBaseImage $DEST "$3" $1 $2 $PROTO $OPT
fi

View File

@ -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

View File

@ -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);
}
?>

View File

@ -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;
}
?>

View File

@ -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;
}
?>

View File

@ -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

View File

@ -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

View File

@ -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);
}
?>

View File

@ -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>';

View File

@ -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,14 +62,18 @@ fi
[ $# -ne 4 ] && ogRaiseError $OG_ERR_FORMAT "$MSG_FORMAT: $PROG ndisco nparticion REPO|CACHE imagen"
# 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)
# Limpiamos fichero de log
echo -n ""> $OGLOGSESSION
echo "[1] $MSG_SCRIPTS_START $0 $*" | tee -a $OGLOGSESSION $OGLOGFILE
# Comprobamos si la imagen o la particion estan bloqueada:
ogIsImageLocked "$3" "$4.$IMGEXT" && ogRaiseError $OG_ERR_LOCKED "$3 $4.$IMGEXT"
@ -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"

View File

@ -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 "

View File

@ -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

View File

@ -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