source: repoman/bin/deleteimage @ 20324f2

Last change on this file since 20324f2 was f2ac15a, checked in by ramon <ramongomez@…>, 8 years ago

#754: Congelar versión de mantenimiento en rama tags/opengnsys-1.0.6b.

git-svn-id: https://opengnsys.es/svn/tags/opengnsys-1.0.6b@5144 a21b9725-9963-47de-94b9-378ad31fedc9

  • Property mode set to 100755
File size: 2.7 KB
RevLine 
[c057e20]1#!/bin/bash
[de687e3]2#         deleteimage [ -b | -r ] str_image
[c057e20]3#@file    deleteimage
4#@brief   Borra del repositorio los ficheros de una imagen.
[1602040]5#@param   -b           Elimina también la copia de seguridad de la imagen (opcional).
[c057e20]6#@param   -r           Recupera la copia de seguridad de la imagen (opcional).
7#@param   str_image    Nombre canónico de la imagen, sin extensión.
[1602040]8#@version 1.0 - Versión inicial.
9#@date    2012-10-14
10#@author  Ramón Gómez, ETSII Univ. Sevilla
[de687e3]11#@version 1.0.5 - Eliminar imagen incremental.
[1602040]12#@date    2013-07-17
13#@author  Alberto García, Univ. Málaga
[de687e3]14#@version 1.0.6 - Detección automática del tipo de imagen.
15#@date    2014-10-29
16#@author  Ramón Gómez, ETSII Univ. Sevilla
[f2ac15a]17#@version 1.1.0 - Aunque no exista imagen permite recuperar la copia.
18#@date    2016-10-14
19#@author  Irina Gómez, ETSII Univ. Sevilla
20#*/ ##
[c057e20]21
22
23PROG=$(basename $0)
24OPENGNSYS=${OPENGNSYS:-"/opt/opengnsys"}
25OGIMG=$OPENGNSYS/images
26IMGEXT="img"
27BAKEXT="ant"
[1602040]28DIFFEXT="diff"
29
[c057e20]30# Si se solicita, mostrar ayuda.
31if [ "$*" == "help" ]; then
32    cat << EOT
33$PROG: Borra los ficheros de una imagen del repositorio.
[de687e3]34Formato: $PROG [ -b | -r ] str_image
[1602040]35         -b  Elimina también la copia de seguridad de la imagen.
[c057e20]36         -r  Recupera la copia de seguridad de la imagen.
37Ejemplo: $PROG imagen1
38EOT
39    exit 0
40fi
41# Procesar parámetros
[de687e3]42while getopts br OPTION; do
[c057e20]43    case $OPTION in
[1602040]44        b) DELETEBACKUP=1 ;;
[c057e20]45        r) RECOVERBACKUP=1 ;;
46        *) ERR=1 ;;
47    esac
48    shift $((OPTIND-1))
49done
[de687e3]50[ -n "$DELETEBACKUP" ] && [ -n "$RECOVERBACKUP" ] && ERR=1
[c057e20]51if [ $# != 1 -o -n "$ERR" ]; then
[de687e3]52    echo "$PROG Error: Formato: $PROG [ -b | -r ] str_image"
[c057e20]53    exit 1
54fi
55
[de687e3]56# Eliminar ficheros de imagen monolítica o sincronizada básica.
[f2ac15a]57for IMG in "$OGIMG/$1.$IMGEXT" "$OGIMG/$1.$IMGEXT.$DIFFEXT" "$OGIMG/$1"; do
58    # Borro la imagen si existe
59    if [ -r $IMG ] ; then
60        IMGPATH=$IMG
61        echo "Borrando imagen $IMGPATH"
62        rm -f $IMGPATH{,.sum,.full.sum,.torrent}
63        break
[de687e3]64    fi
[f2ac15a]65    # Compruebo si existe copia de seguridad
66    [ -r $IMG.$BAKEXT ] && OLDPATH=$IMG
67done
68
69[ "_${IMGPATH}_" == "__" ] && IMGPATH=$OLDPATH
[de687e3]70
[c057e20]71# Recuperar copia de seguridad de la imagen.
72if [ -n "$RECOVERBACKUP" ]; then
[de687e3]73    [ -e $IMGPATH.$BAKEXT ] && echo "Recuperando copia $IMGPATH.$BAKEXT"
74    mv -f $IMGPATH.$BAKEXT $IMGPATH && \
75            (mv -f $IMGPATH.sum.$BAKEXT $IMGPATH.sum 2>/dev/null
76             mv -f $IMGPATH.full.sum.$BAKEXT $IMGPATH.full.sum 2>/dev/null
77             mv -f $IMGPATH.torrent.$BAKEXT $IMGPATH.torrent 2>/dev/null)
[c057e20]78fi
79
80# Borrar copia de seguridad de la imagen.
81if [ -n "$DELETEBACKUP" ]; then
[de687e3]82    [ -e $IMGPATH ] && echo "Eliminando copia $IMGPATH.$BAKEXT"
83    rm -f $IMGPATH.$BAKEXT && rm -f $IMGPATH.{sum,full.sum,torrent}.$BAKEXT
[c057e20]84fi
85
Note: See TracBrowser for help on using the repository browser.