source: repoman/bin/deleteimage @ 4a51c8ba

918-git-images-111dconfigfileconfigure-oglivegit-imageslgromero-new-oglivemainmaint-cronmount-efivarfsmultivmmultivm-ogboot-installerogClonningEngineogboot-installer-jenkinsoglive-ipv6test-python-scriptsticket-301ticket-50ticket-50-oldticket-577ticket-585ticket-611ticket-612ticket-693ticket-700ubu24tplunification2use-local-agent-oglivevarios-instalacionwebconsole3
Last change on this file since 4a51c8ba was 4a51c8ba, checked in by albertogp <albertogp@…>, 11 years ago

branches-version1.0
Integrando cambios en version 1.0
#462

git-svn-id: https://opengnsys.es/svn/branches/version1.0@4244 a21b9725-9963-47de-94b9-378ad31fedc9

  • Property mode set to 100755
File size: 3.2 KB
Line 
1#!/bin/bash
2#         deleteimage [ -b | -r | -i ] str_image
3#@file    deleteimage
4#@brief   Borra del repositorio los ficheros de una imagen.
5#@param   -b           Elimina también la copia de seguridad de la imagen (opcional).
6#@param   -r           Recupera la copia de seguridad de la imagen (opcional).
7#@param   -i           Elimina imagen Incremental o Basica
8#@param   str_image    Nombre canónico de la imagen, sin extensión.
9#@version 1.0 - Versión inicial.
10#@date    2012-10-14
11#@author  Ramón Gómez, ETSII Univ. Sevilla
12#@version 1.2 - Eliminar imagen incremental.
13#@date    2013-07-17
14#@author  Alberto García, Univ. Málaga
15
16
17PROG=$(basename $0)
18OPENGNSYS=${OPENGNSYS:-"/opt/opengnsys"}
19OGIMG=$OPENGNSYS/images
20IMGEXT="img"
21BAKEXT="ant"
22DIFFEXT="diff"
23
24# Si se solicita, mostrar ayuda.
25if [ "$*" == "help" ]; then
26    cat << EOT
27$PROG: Borra los ficheros de una imagen del repositorio.
28Formato: $PROG [ -b | -r | -i | -d ] str_image
29         -b  Elimina también la copia de seguridad de la imagen.
30         -r  Recupera la copia de seguridad de la imagen.
31         -i  Elimina imagen Incremental o Basica
32         -d  Elimina Directorios
33Ejemplo: $PROG imagen1
34EOT
35    exit 0
36fi
37
38# Procesar parámetros
39while getopts brid OPTION; do
40    case $OPTION in
41        b) DELETEBACKUP=1 ;;
42        r) RECOVERBACKUP=1 ;;
43        i) DELETEINCREMEN=1 ;;
44        d) DELETEDIRECTORIO=1 ;;
45        *) ERR=1 ;;
46    esac
47    shift $((OPTIND-1))
48done
49
50[ -n "$DELETEBACKUP" ] && [ -n "$RECOVERBACKUP" ] && [ -n "$DELETEINCREMEN" ] && [ -n "$DELETEDIRECTORIO" ] && ERR=1
51if [ $# != 1 -o -n "$ERR" ]; then
52    echo "$PROG Error: Formato: $PROG [ -b | -r | -i | -d ] str_image"
53    exit 1
54fi
55
56# Recuperar copia de seguridad de la imagen.
57if [ -n "$RECOVERBACKUP" ]; then
58    mv -f $IMGFILE.$BAKEXT $IMGFILE && \
59            (mv -f $IMGFILE.sum.$BAKEXT $IMGFILE.sum 2>/dev/null
60             mv -f $IMGFILE.torrent.$BAKEXT $IMGFILE.torrent 2>/dev/null)
61fi
62
63# Borrar copia de seguridad de la imagen.
64if [ -n "$DELETEBACKUP" ]; then
65    rm -f $IMGFILE.$BAKEXT && rm -f $IMGFILE.{sum,torrent}.$BAKEXT
66fi
67
68# Borrar directorio de imagen
69IMGFILECA="$OGIMG/$1"
70if [ -n "$DELETEINCREMEN" ];then
71rm -R $IMGFILECA && exit
72fi
73
74# Si el Nombre canonico es un directorio eliminamos
75# o si la opcion es i tambien eliminamos
76IMGFILECA="$OGIMG/$1"
77if [ -n "$DELETEDIRECTORIO" ]; then
78rm -R $IMGFILECA && exit
79
80# Si el Nomobre canonico NO es un directorio
81else
82        # Comprobamos si es un archivo backup .ant
83        NOMBREANT=$(echo $1 | awk -F. '{print $1}')
84        if [ $1 == "$NOMBREANT.$BAKEXT" ]; then
85                IMGFILE="$OGIMG/$NOMBREANT.$IMGEXT.$BAKEXT"
86                # Eliminar fichero de seguridad .img.ant
87                rm -f $IMGFILE
88        else
89                        # Comprobamos si es un archivo diferencial .diff
90                        NOMBREDIF="$OGIMG/$1.$IMGEXT.$DIFFEXT"
91                        if [ -f $NOMBREDIF ]; then
92                                IMGFILE="$OGIMG/$1.$IMGEXT.$DIFFEXT"
93                                # Eliminar fichero diferencial .diff .torrent .sum
94                                rm -f $IMGFILE && rm -f $IMGFILE.{sum,torrent}
95
96                        else
97                                # Fichero principal de la imagen.
98                                IMGFILE="$OGIMG/$1.$IMGEXT"
99                                # Eliminar ficheros de la imagen.
100                                rm -f $IMGFILE && rm -f $IMGFILE.{sum,torrent}
101                        fi
102        fi
103
104fi
Note: See TracBrowser for help on using the repository browser.