diff options
-rw-r--r-- | admin/WebConsole/comandos/EliminarImagenCache.php | 3 | ||||
-rw-r--r-- | admin/WebConsole/comandos/EliminarImagenRepositorio.php | 127 | ||||
-rwxr-xr-x | repoman/bin/deleteimage | 18 | ||||
-rwxr-xr-x | repoman/bin/deletepreimage | 27 |
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> </TD> <TH align=center> <? echo "D => ".$TbMsg[32]; ?> </TH> <TD align=center> </TD> + <TD align=center> </TD> + <TH align=center> <? echo "B => Backup" ?> </TH> + <TD align=center> </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> '.$contar.' </TD>'.chr(13); // ########## Marcar ################################################################## + if ($bustor<>"") { echo '<TD align=center><font color=red><strong> '.$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> '.$tipo[$contandotipo].' </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> '.$value.' </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> '.$TbMsg[25].'</strong></TD>'.chr(13); + elseif (ereg(".ant",$nombrefichero)) + { + echo '<TD align=center><font color=red> ------</strong></TD>'.chr(13); + }else{ + echo '<TD align=center><font color=red> '.$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> '.$tipo[$contandotipo].' </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> '.$TbMsg[25].'</strong></TD>'.chr(13); + elseif (ereg(".ant",$nombrefichero)) + { + echo '<TD align=center><font color=red> ------</strong></TD>'.chr(13); + }else{ + echo '<TD align=center><font color=red> '.$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 |