summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--admin/WebConsole/comandos/EliminarImagenCache.php3
-rw-r--r--admin/WebConsole/comandos/EliminarImagenRepositorio.php127
-rwxr-xr-xrepoman/bin/deleteimage18
-rwxr-xr-xrepoman/bin/deletepreimage27
4 files changed, 135 insertions, 40 deletions
diff --git a/admin/WebConsole/comandos/EliminarImagenCache.php b/admin/WebConsole/comandos/EliminarImagenCache.php
index b945457e..bbb59015 100644
--- a/admin/WebConsole/comandos/EliminarImagenCache.php
+++ b/admin/WebConsole/comandos/EliminarImagenCache.php
@@ -385,7 +385,8 @@ switch($ambito){
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- $sin_duplicados=array_unique($nombreimagenes);
+ //$sin_duplicados=array_unique($nombreimagenes);
+ $sin_duplicados=$nombreimagenes;
$contar=1;
if (empty($sin_duplicados)) {
// Equipo sin configuracion en base de datos.
diff --git a/admin/WebConsole/comandos/EliminarImagenRepositorio.php b/admin/WebConsole/comandos/EliminarImagenRepositorio.php
index 573b300a..144f833a 100644
--- a/admin/WebConsole/comandos/EliminarImagenRepositorio.php
+++ b/admin/WebConsole/comandos/EliminarImagenRepositorio.php
@@ -132,20 +132,36 @@ $repolocal="si";
$nombre=$_POST["nombre".$i];
$nombre=trim($nombre);
$chekmarcadif=$_POST["marcadif".$i];
+ $tipoimg=$_POST["tipoimg".$i];
if ($checkbox == "si" && $chekmarcadif == 1)
{
$delete=$nombre.".img.diff.delete";
//echo $delete;
exec("touch ../tmp/$delete");
- exec("(echo '$nombre') > ../tmp/$delete");
+ exec("(echo '$nombre.img.diff') > ../tmp/$delete");
}
if ($checkbox == "si" && $chekmarcadif == 0)
{
- $delete=$nombre.".img.delete";
- //echo $delete;
- exec("touch ../tmp/$delete");
- exec("(echo '.$nombre.') > ../tmp/$delete");
+ if(ereg(".ant",$nombre))
+ {
+ $nombre = str_replace(".ant", "", $nombre); //quitar todos los .backup y continuamos
+ $delete=$nombre.".img.ant.delete";
+ //echo $nombre;
+ //echo $delete;
+ exec("touch ../tmp/$delete");
+ exec("(echo '$nombre.img.ant') > ../tmp/$delete");
+ }elseif ($tipoimg == "D"){
+ $delete=$nombre.".delete";
+ //echo $delete;
+ exec("touch ../tmp/$delete");
+ exec("(echo '$nombre') > ../tmp/$delete");
+ }else{
+ $delete=$nombre.".img.delete";
+ //echo $delete;
+ exec("touch ../tmp/$delete");
+ exec("(echo '$nombre.img') > ../tmp/$delete");
+ }
}
//#########################################################################
// PARA SELECCIONAR EL OBJETO IMAGEN
@@ -284,6 +300,9 @@ function confirmeliminar() {var mensaje="<?php echo $TbMsg[17];?>";if(confirm(me
<TD align=center>&nbsp;</TD>
<TH align=center>&nbsp;<? echo "D => ".$TbMsg[32]; ?>&nbsp;</TH>
<TD align=center>&nbsp;</TD>
+ <TD align=center>&nbsp;</TD>
+ <TH align=center>&nbsp;<? echo "B => Backup" ?>&nbsp;</TH>
+ <TD align=center>&nbsp;</TD>
</TR>
</TABLE>
@@ -318,12 +337,17 @@ function confirmeliminar() {var mensaje="<?php echo $TbMsg[17];?>";if(confirm(me
$imarepo[$x]=trim($imarepo[$x]);
$nombreimagenes[]=$imarepo[$x].'.diff';
$tipo[]="F";
- }
- else{
- $imarepo[$x] = str_replace(".img", "", $imarepo[$x]); //quitar todos los .img
- $imarepo[$x]=trim($imarepo[$x]);
- $nombreimagenes[]=$imarepo[$x];
- $tipo[]="F";
+ }elseif(ereg(".ant",$imarepo[$x]))
+ {
+ $imarepo[$x] = str_replace(".img", "", $imarepo[$x]); //quitar todos los .img
+ $imarepo[$x]=trim($imarepo[$x]);
+ $nombreimagenes[]=$imarepo[$x];
+ $tipo[]="B";
+ }else{
+ $imarepo[$x] = str_replace(".img", "", $imarepo[$x]); //quitar todos los .img
+ $imarepo[$x]=trim($imarepo[$x]);
+ $nombreimagenes[]=$imarepo[$x];
+ $tipo[]="F";
}
}
}else{
@@ -367,9 +391,13 @@ function confirmeliminar() {var mensaje="<?php echo $TbMsg[17];?>";if(confirm(me
$nombrefichero=trim($value);
$nombrefichero=$value.'.img.diff';
}
- else
+ elseif(ereg(".ant",$value))
+ {
+ $nombrefichero=str_replace(".ant", "", $value);
+ $nombrefichero=$nombrefichero.".img.ant";$marcadif=0;
+ }else
{
- $nombrefichero=$value.'.img';$marcadif=0;
+ $nombrefichero=$value.'.img';$marcadif=0;
}
@@ -418,19 +446,31 @@ function confirmeliminar() {var mensaje="<?php echo $TbMsg[17];?>";if(confirm(me
// ########################## VARIABLES FICHERO DELETE ################################
$nombredirectorio="/opt/opengnsys/images/".$value;
- $ficherodelete="../tmp/".$nombrefichero.".delete";
+ // ####################################################################################
+ if ($tipo[$contandotipo] == "D")
+ {
+ $nombrefichero=str_replace(".img", "", $nombrefichero);
+ $ficherodelete="../tmp/".$nombrefichero.".delete";
+ }else{
+ $ficherodelete="../tmp/".$nombrefichero.".delete";
+ }
// ########################## VARIABLES FICHERO DELETE ################################
// ####################################################################################
// ######## TAMAÑO DEL FICHERO Y DIRECTORIO ##########################
-
if (is_dir ($nombredirectorio) && $tipo[$contandotipo] == "D")
{
$tamanofich=exec("ls -lah ".$nombredirectorio." | awk 'NR==1 {print $2}'");
}
- else
+ elseif (ereg(".ant",$nombrefichero))
{
- $tamanofich=exec("du -h --max-depth=1 /opt/opengnsys/images/$nombrefichero");
- $tamanofich=split("/",$tamanofich);//////////////////////////////////////////echo $nombrefichero."</br>";
+ $nombreficheroant=str_replace(".ant", "", $nombrefichero); //quitar todos los .ant y continuamos
+
+ $nombreficheroant=$nombreficheroant.".ant";
+ $tamanofich=exec("du -h --max-depth=1 /opt/opengnsys/images/$nombreficheroant");
+ $tamanofich=split("/",$tamanofich);//////////////////////////////////////////echo $nombrefichero."</br>";
+ }else{
+ $tamanofich=exec("du -h --max-depth=1 /opt/opengnsys/images/$nombrefichero");
+ $tamanofich=split("/",$tamanofich);//////////////////////////////////////////echo $nombrefichero."</br>";
}
// ######## TAMAÑO DEL FICHERO Y DIRECTORIO ##########################
@@ -443,6 +483,7 @@ function confirmeliminar() {var mensaje="<?php echo $TbMsg[17];?>";if(confirm(me
echo '<TD align=center>&nbsp;'.$contar.'&nbsp;</TD>'.chr(13);
// ########## Marcar ##################################################################
+
if ($bustor<>"")
{
echo '<TD align=center><font color=red><strong>&nbsp;'.$TbMsg[14].'</strong></TD>'.chr(13);
@@ -460,14 +501,17 @@ function confirmeliminar() {var mensaje="<?php echo $TbMsg[17];?>";if(confirm(me
{
echo '<TD align=center ><font color=blue>'.$tipo[$contandotipo].'</TD>'.chr(13);
}
- else
+ elseif ($tipo[$contandotipo]=="B")
{
+ echo '<TD align=center><font color=red>&nbsp;'.$tipo[$contandotipo].'&nbsp;</TD>'.chr(13);
+ }else{
echo '<TD align=center >'.$tipo[$contandotipo].'</TD>'.chr(13);
}
echo '<input type="hidden" name="nombre'.$contar.'" value='.$value.'></TD>'.chr(13);;
echo '<input type="hidden" name="contar" value='.$contar.'></TD>'.chr(13);;
echo '<input type="hidden" name="marcadif'.$contar.'" value='.$marcadif.'></TD>'.chr(13);;
+ echo '<input type="hidden" name="tipoimg'.$contar.'" value='.$tipo[$contandotipo].'></TD>'.chr(13);;
// ########## Nombre de Imagen ########################################################
if ($tipo[$contandotipo]=="D")
@@ -476,6 +520,7 @@ function confirmeliminar() {var mensaje="<?php echo $TbMsg[17];?>";if(confirm(me
}
else
{
+
echo '<TD align=center>&nbsp;'.$value.'&nbsp;</TD>'.chr(13);
}
@@ -489,9 +534,11 @@ function confirmeliminar() {var mensaje="<?php echo $TbMsg[17];?>";if(confirm(me
{
echo '<TD align=center ><input type="checkbox" name="checkboxobjeto'.$contar.'" value="si"></TD>'.chr(13);
}
- else
- {
- echo '<TD align=center><font color=red><strong>&nbsp;'.$TbMsg[25].'</strong></TD>'.chr(13);
+ elseif (ereg(".ant",$nombrefichero))
+ {
+ echo '<TD align=center><font color=red>&nbsp;------</strong></TD>'.chr(13);
+ }else{
+ echo '<TD align=center><font color=red>&nbsp;'.$TbMsg[25].'</strong></TD>'.chr(13);
}
// #####################################################################################
echo '</TR>'.chr(13);
@@ -551,19 +598,32 @@ function confirmeliminar() {var mensaje="<?php echo $TbMsg[17];?>";if(confirm(me
// ########################## VARIABLES FICHERO DELETE ################################
$nombredirectorio="/opt/opengnsys/images/".$value;
- $ficherodelete="../tmp/".$nombrefichero.".delete";
+ // ####################################################################################
+ if ($tipo[$contandotipo] == "D")
+ {
+ $nombrefichero=str_replace(".img", "", $nombrefichero);
+ $ficherodelete="../tmp/".$nombrefichero.".delete";
+ }else{
+ $ficherodelete="../tmp/".$nombrefichero.".delete";
+ }
// ########################## VARIABLES FICHERO DELETE ################################
+
// ####################################################################################
// ######## TAMAÑO DEL FICHERO Y DIRECTORIO ##########################
-
if (is_dir ($nombredirectorio) && $tipo[$contandotipo] == "D")
{
$tamanofich=exec("ls -lah ".$nombredirectorio." | awk 'NR==1 {print $2}'");
}
- else
+ elseif (ereg(".ant",$nombrefichero))
{
- $tamanofich=exec("du -h --max-depth=1 /opt/opengnsys/images/$nombrefichero");
- $tamanofich=split("/",$tamanofich);//////////////////////////////////////////echo $nombrefichero."</br>";
+ $nombreficheroant=str_replace(".ant", "", $nombrefichero); //quitar todos los .ant y continuamos
+
+ $nombreficheroant=$nombreficheroant.".ant";
+ $tamanofich=exec("du -h --max-depth=1 /opt/opengnsys/images/$nombreficheroant");
+ $tamanofich=split("/",$tamanofich);//////////////////////////////////////////echo $nombrefichero."</br>";
+ }else{
+ $tamanofich=exec("du -h --max-depth=1 /opt/opengnsys/images/$nombrefichero");
+ $tamanofich=split("/",$tamanofich);//////////////////////////////////////////echo $nombrefichero."</br>";
}
// ######## TAMAÑO DEL FICHERO Y DIRECTORIO ##########################
@@ -593,14 +653,17 @@ function confirmeliminar() {var mensaje="<?php echo $TbMsg[17];?>";if(confirm(me
{
echo '<TD align=center ><font color=blue>'.$tipo[$contandotipo].'</TD>'.chr(13);
}
- else
+ elseif ($tipo[$contandotipo]=="B")
{
+ echo '<TD align=center><font color=red>&nbsp;'.$tipo[$contandotipo].'&nbsp;</TD>'.chr(13);
+ }else{
echo '<TD align=center >'.$tipo[$contandotipo].'</TD>'.chr(13);
}
echo '<input type="hidden" name="nombre'.$contar.'" value='.$value.'></TD>'.chr(13);;
echo '<input type="hidden" name="contar" value='.$contar.'></TD>'.chr(13);;
echo '<input type="hidden" name="marcadif'.$contar.'" value='.$marcadif.'></TD>'.chr(13);;
+ echo '<input type="hidden" name="tipoimg'.$contar.'" value='.$tipo[$contandotipo].'></TD>'.chr(13);;
// ########## Nombre de Imagen ########################################################
if ($tipo[$contandotipo]=="D")
@@ -622,9 +685,11 @@ function confirmeliminar() {var mensaje="<?php echo $TbMsg[17];?>";if(confirm(me
{
echo '<TD align=center ><input type="checkbox" name="checkboxobjeto'.$contar.'" value="si"></TD>'.chr(13);
}
- else
- {
- echo '<TD align=center><font color=red><strong>&nbsp;'.$TbMsg[25].'</strong></TD>'.chr(13);
+ elseif (ereg(".ant",$nombrefichero))
+ {
+ echo '<TD align=center><font color=red>&nbsp;------</strong></TD>'.chr(13);
+ }else{
+ echo '<TD align=center><font color=red>&nbsp;'.$TbMsg[25].'</strong></TD>'.chr(13);
}
// #####################################################################################
// ########## Unidad Organizativa ######################################################
diff --git a/repoman/bin/deleteimage b/repoman/bin/deleteimage
index 1c9751cf..3807b841 100755
--- a/repoman/bin/deleteimage
+++ b/repoman/bin/deleteimage
@@ -25,28 +25,31 @@ DIFFEXT="diff"
if [ "$*" == "help" ]; then
cat << EOT
$PROG: Borra los ficheros de una imagen del repositorio.
-Formato: $PROG [ -b | -r | -i ] str_image
+Formato: $PROG [ -b | -r | -i | -d ] str_image
-b Elimina también la copia de seguridad de la imagen.
-r Recupera la copia de seguridad de la imagen.
-i Elimina imagen Incremental o Basica
+ -d Elimina Directorios
Ejemplo: $PROG imagen1
EOT
exit 0
fi
# Procesar parámetros
-while getopts bri OPTION; do
+while getopts brid OPTION; do
case $OPTION in
b) DELETEBACKUP=1 ;;
r) RECOVERBACKUP=1 ;;
i) DELETEINCREMEN=1 ;;
+ d) DELETEDIRECTORIO=1 ;;
*) ERR=1 ;;
esac
shift $((OPTIND-1))
done
-[ -n "$DELETEBACKUP" ] && [ -n "$RECOVERBACKUP" ] && [ -n "$DELETEINCREMEN" ] && ERR=1
+
+[ -n "$DELETEBACKUP" ] && [ -n "$RECOVERBACKUP" ] && [ -n "$DELETEINCREMEN" ] && [ -n "$DELETEDIRECTORIO" ] && ERR=1
if [ $# != 1 -o -n "$ERR" ]; then
- echo "$PROG Error: Formato: $PROG [ -b | -r | -i ] str_image"
+ echo "$PROG Error: Formato: $PROG [ -b | -r | -i | -d ] str_image"
exit 1
fi
@@ -71,8 +74,9 @@ fi
# Si el Nombre canonico es un directorio eliminamos
# o si la opcion es i tambien eliminamos
IMGFILECA="$OGIMG/$1"
-if [ -d "$IMGFILECA" ];then
-rm -R $IMGFILECA
+if [ -n "$DELETEDIRECTORIO" ]; then
+rm -R $IMGFILECA && exit
+
# Si el Nomobre canonico NO es un directorio
else
# Comprobamos si es un archivo backup .ant
@@ -97,4 +101,4 @@ else
fi
fi
-fi
+fi \ No newline at end of file
diff --git a/repoman/bin/deletepreimage b/repoman/bin/deletepreimage
index fbaa233e..076ae8e8 100755
--- a/repoman/bin/deletepreimage
+++ b/repoman/bin/deletepreimage
@@ -29,9 +29,34 @@ mv /opt/opengnsys/www/tmp/*.* /opt/opengnsys/images/
ls /opt/opengnsys/images/*.delete &>/dev/null || exit
for IMG in `ls /opt/opengnsys/images/*.delete`; do
+ ## Obtenemos el nombre de la imagen
DELETEIMAGE=$(echo $IMG | awk -F"." '{print $1}' | awk -F"/opt/opengnsys/images/" '{print $2}')
+
# Borramos marca .delete para que el proximo cron no trabaje sobre este conjunto.
[ -f $IMG ] && rm $IMG
+
+ ## Comprobamos si es un Directorio .delete
+ DELETEdir=$(echo $IMG | awk -F"." '{print $2}') ## .delete
+ DELETEant=$(echo $IMG | awk -F"." '{print $3}') ## .ant
+ DELETEdiff=$(echo $IMG | awk -F"." '{print $3}') ## .diff
+ ## Si NO es ninguno es un img
+
## se llama al escript de borrado de imagen.
- /opt/opengnsys/bin/deleteimage $DELETEIMAGE
+ ## Si es un Directorio Borramos
+ if [[ $DELETEdir == "delete" ]]; then
+ /opt/opengnsys/bin/deleteimage $DELETEIMAGE d
+
+ # Si es un Imagen Backup Borramos
+ elif [[ $DELETEant == "ant" ]]; then
+ DELETEIMAGE=$DELETEIMAGE".ant"
+ /opt/opengnsys/bin/deleteimage $DELETEIMAGE
+
+ # Si es un Imagen diff Borramos
+ elif [[ $DELETEdiff == "diff" ]]; then
+ /opt/opengnsys/bin/deleteimage $DELETEIMAGE
+
+ # Si no es una de las anteriores lo que queda es img
+ else
+ /opt/opengnsys/bin/deleteimage $DELETEIMAGE
+ fi
done \ No newline at end of file