source: repoman/bin/deleteimage @ e1ddc83

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 e1ddc83 was bbad384, checked in by ramon <ramongomez@…>, 12 years ago

#564: Algunos retoques en información de ficheros en la integración del ticket.

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

  • Property mode set to 100755
File size: 3.1 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 ] 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
32Ejemplo: $PROG imagen1
33EOT
34    exit 0
35fi
36
37# Procesar parámetros
38while getopts bri OPTION; do
39    case $OPTION in
40        b) DELETEBACKUP=1 ;;
41        r) RECOVERBACKUP=1 ;;
42        i) DELETEINCREMEN=1 ;;
43        *) ERR=1 ;;
44    esac
45    shift $((OPTIND-1))
46done
47[ -n "$DELETEBACKUP" ] && [ -n "$RECOVERBACKUP" ] && [ -n "$DELETEINCREMEN" ] && ERR=1
48if [ $# != 1 -o -n "$ERR" ]; then
49    echo "$PROG Error: Formato: $PROG [ -b | -r | -i ] str_image"
50    exit 1
51fi
52
53# Recuperar copia de seguridad de la imagen.
54if [ -n "$RECOVERBACKUP" ]; then
55    mv -f $IMGFILE.$BAKEXT $IMGFILE && \
56            (mv -f $IMGFILE.sum.$BAKEXT $IMGFILE.sum 2>/dev/null
57             mv -f $IMGFILE.torrent.$BAKEXT $IMGFILE.torrent 2>/dev/null)
58fi
59
60# Borrar copia de seguridad de la imagen.
61if [ -n "$DELETEBACKUP" ]; then
62    rm -f $IMGFILE.$BAKEXT && rm -f $IMGFILE.{sum,torrent}.$BAKEXT
63fi
64
65# Borrar directorio de imagen
66IMGFILECA="$OGIMG/$1"
67if [ -n "$DELETEINCREMEN" ];then
68rm -R $IMGFILECA && exit
69fi
70
71# Si el Nombre canonico es un directorio eliminamos
72# o si la opcion es i tambien eliminamos
73IMGFILECA="$OGIMG/$1"
74if [ -d "$IMGFILECA" ];then
75rm -R $IMGFILECA
76# Si el Nomobre canonico NO es un directorio
77else
78        # Comprobamos si es un archivo backup .ant
79        NOMBREANT=$(echo $1 | awk -F. '{print $1}')
80        if [ $1 == "$NOMBREANT.$BAKEXT" ]; then
81                IMGFILE="$OGIMG/$NOMBREANT.$IMGEXT.$BAKEXT"
82                # Eliminar fichero de seguridad .img.ant
83                rm -f $IMGFILE
84        else
85                        # Comprobamos si es un archivo diferencial .diff
86                        NOMBREDIF="$OGIMG/$1.$IMGEXT.$DIFFEXT"
87                        if [ -f $NOMBREDIF ]; then
88                                IMGFILE="$OGIMG/$1.$IMGEXT.$DIFFEXT"
89                                # Eliminar fichero diferencial .diff .torrent .sum
90                                rm -f $IMGFILE && rm -f $IMGFILE.{sum,torrent}
91
92                        else
93                                # Fichero principal de la imagen.
94                                IMGFILE="$OGIMG/$1.$IMGEXT"
95                                # Eliminar ficheros de la imagen.
96                                rm -f $IMGFILE && rm -f $IMGFILE.{sum,torrent}
97                        fi
98        fi
99
100fi
Note: See TracBrowser for help on using the repository browser.