summaryrefslogtreecommitdiffstats
path: root/repoman
diff options
context:
space:
mode:
authoririna <irinagomez@us.es>2016-10-14 08:47:11 +0000
committeririna <irinagomez@us.es>2016-10-14 08:47:11 +0000
commitd0c9a98423de4ad3dd1f63ac16c51c1ca62b3740 (patch)
tree04ba6ea60bdfa12870bddf5f0cff6fa8464ebf87 /repoman
parenta6d6d6f0852920cdb9d8207821049c26c3632cec (diff)
#730 deleteimage: Permite recuperar la copia de seguridad aunque no existe la imagen
git-svn-id: https://opengnsys.es/svn/branches/version1.1@5036 a21b9725-9963-47de-94b9-378ad31fedc9
Diffstat (limited to 'repoman')
-rwxr-xr-xrepoman/bin/deleteimage37
1 files changed, 16 insertions, 21 deletions
diff --git a/repoman/bin/deleteimage b/repoman/bin/deleteimage
index c9aff3f0..2da477e4 100755
--- a/repoman/bin/deleteimage
+++ b/repoman/bin/deleteimage
@@ -15,7 +15,10 @@
#@version 1.0.6 - Detección automática del tipo de imagen.
#@date 2014-10-29
#@author Ramón Gómez, ETSII Univ. Sevilla
-
+#@version 1.1.0 - Aunque no exista imagen permite recuperar la copia.
+#@date 2016-10-14
+#@author Irina Gómez, ETSII Univ. Sevilla
+#*/ ##
PROG=$(basename $0)
OPENGNSYS=${OPENGNSYS:-"/opt/opengnsys"}
@@ -51,27 +54,20 @@ if [ $# != 1 -o -n "$ERR" ]; then
exit 1
fi
-# Eliminar ficheros de imagen monolítica o sincronizada básica.
-IMGPATH="$OGIMG/$1.$IMGEXT"
-if [ -f $IMGPATH ]; then
- echo "Borrando fichero $IMGPATH"
- rm -f $IMGPATH && rm -f $IMGPATH.{sum,full.sum,torrent}
-else
- # Eliminar ficheros de imagen sincronizada diferencial.
- IMGPATH="$OGIMG/$1.$IMGEXT.$DIFFEXT"
- if [ -f $IMGPATH ]; then
- echo "Borrando fichero $IMGPATH"
- rm -f $IMGPATH && rm -f $IMGPATH.{sum,full.sum,torrent}
- else
- # Eliminar directorio de imagen sincronizada.
- IMGPATH="$OGIMG/$1"
- if [ -d $IMGPATH ]; then
- echo "Borrando directorio $IMGPATH"
- rm -fr $IMGPATH
- fi
+# Eliminar ficheros de imagen monolítica o sincronizada.
+for IMG in "$OGIMG/$1.$IMGEXT" "$OGIMG/$1.$IMGEXT.$DIFFEXT" "$OGIMG/$1"; do
+ # Borro la imagen si existe
+ if [ -r $IMG ] ; then
+ IMGPATH=$IMG
+ echo "Borrando imagen $IMGPATH"
+ rm -f $IMGPATH{,.sum,.full.sum,.torrent}
+ break
fi
-fi
+ # Compruebo si existe copia de seguridad
+ [ -r $IMG.$BAKEXT ] && OLDPATH=$IMG
+done
+[ "_${IMGPATH}_" == "__" ] && IMGPATH=$OLDPATH
# Recuperar copia de seguridad de la imagen.
if [ -n "$RECOVERBACKUP" ]; then
[ -e $IMGPATH.$BAKEXT ] && echo "Recuperando copia $IMGPATH.$BAKEXT"
@@ -86,4 +82,3 @@ if [ -n "$DELETEBACKUP" ]; then
[ -e $IMGPATH.$BAKEXT ] && echo "Eliminando copia $IMGPATH.$BAKEXT"
rm -f $IMGPATH.$BAKEXT && rm -f $IMGPATH.{sum,full.sum,torrent}.$BAKEXT
fi
-