#674: Script {{{deleteimage}}} detecta automáticamente el tipo de imagen que debe borrar.
git-svn-id: https://opengnsys.es/svn/branches/version1.0@4416 a21b9725-9963-47de-94b9-378ad31fedc9remotes/github/debian-pkg
parent
98cd714cd5
commit
99e251e68d
|
@ -1,17 +1,19 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
# deleteimage [ -b | -r | -i ] str_image
|
# deleteimage [ -b | -r ] str_image
|
||||||
#@file deleteimage
|
#@file deleteimage
|
||||||
#@brief Borra del repositorio los ficheros de una imagen.
|
#@brief Borra del repositorio los ficheros de una imagen.
|
||||||
#@param -b Elimina también la copia de seguridad de la imagen (opcional).
|
#@param -b Elimina también la copia de seguridad de la imagen (opcional).
|
||||||
#@param -r Recupera la copia de seguridad de la imagen (opcional).
|
#@param -r Recupera la copia de seguridad de la imagen (opcional).
|
||||||
#@param -i Elimina imagen Incremental o Basica
|
|
||||||
#@param str_image Nombre canónico de la imagen, sin extensión.
|
#@param str_image Nombre canónico de la imagen, sin extensión.
|
||||||
#@version 1.0 - Versión inicial.
|
#@version 1.0 - Versión inicial.
|
||||||
#@date 2012-10-14
|
#@date 2012-10-14
|
||||||
#@author Ramón Gómez, ETSII Univ. Sevilla
|
#@author Ramón Gómez, ETSII Univ. Sevilla
|
||||||
#@version 1.2 - Eliminar imagen incremental.
|
#@version 1.0.5 - Eliminar imagen incremental.
|
||||||
#@date 2013-07-17
|
#@date 2013-07-17
|
||||||
#@author Alberto García, Univ. Málaga
|
#@author Alberto García, Univ. Málaga
|
||||||
|
#@version 1.0.6 - Simplificar ejecución.
|
||||||
|
#@date 2014-10-29
|
||||||
|
#@author Ramón Gómez, ETSII Univ. Sevilla
|
||||||
|
|
||||||
|
|
||||||
PROG=$(basename $0)
|
PROG=$(basename $0)
|
||||||
|
@ -25,80 +27,60 @@ DIFFEXT="diff"
|
||||||
if [ "$*" == "help" ]; then
|
if [ "$*" == "help" ]; then
|
||||||
cat << EOT
|
cat << EOT
|
||||||
$PROG: Borra los ficheros de una imagen del repositorio.
|
$PROG: Borra los ficheros de una imagen del repositorio.
|
||||||
Formato: $PROG [ -b | -r | -i | -d ] str_image
|
Formato: $PROG [ -b | -r ] str_image
|
||||||
-b Elimina también la copia de seguridad de la imagen.
|
-b Elimina también la copia de seguridad de la imagen.
|
||||||
-r Recupera 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
|
Ejemplo: $PROG imagen1
|
||||||
EOT
|
EOT
|
||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Procesar parámetros
|
# Procesar parámetros
|
||||||
while getopts brid OPTION; do
|
while getopts br OPTION; do
|
||||||
case $OPTION in
|
case $OPTION in
|
||||||
b) DELETEBACKUP=1 ;;
|
b) DELETEBACKUP=1 ;;
|
||||||
r) RECOVERBACKUP=1 ;;
|
r) RECOVERBACKUP=1 ;;
|
||||||
i) DELETEINCREMEN=1 ;;
|
|
||||||
d) DELETEDIRECTORIO=1 ;;
|
|
||||||
*) ERR=1 ;;
|
*) ERR=1 ;;
|
||||||
esac
|
esac
|
||||||
shift $((OPTIND-1))
|
shift $((OPTIND-1))
|
||||||
done
|
done
|
||||||
|
[ -n "$DELETEBACKUP" ] && [ -n "$RECOVERBACKUP" ] && ERR=1
|
||||||
[ -n "$DELETEBACKUP" ] && [ -n "$RECOVERBACKUP" ] && [ -n "$DELETEINCREMEN" ] && [ -n "$DELETEDIRECTORIO" ] && ERR=1
|
|
||||||
if [ $# != 1 -o -n "$ERR" ]; then
|
if [ $# != 1 -o -n "$ERR" ]; then
|
||||||
echo "$PROG Error: Formato: $PROG [ -b | -r | -i | -d ] str_image"
|
echo "$PROG Error: Formato: $PROG [ -b | -r ] str_image"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# Eliminar ficheros de imagen monolítica o sincronizada básica.
|
||||||
|
IMGPATH="$OGIMG/$1.$IMGEXT"
|
||||||
|
if [ -f $IMGPATH ]; then
|
||||||
|
echo "Borrando fichero $PATHDIR"
|
||||||
|
rm -f $IMGPATH && rm -f $IMGPATH.{sum,torrent}
|
||||||
|
else
|
||||||
|
# Eliminar ficheros de imagen sincronizada diferencial.
|
||||||
|
IMGPATH="$OGIMG/$1.$IMGEXT.$DIFFEXT"
|
||||||
|
if [ -f $IMGPATH ]; then
|
||||||
|
echo "Borrando fichero $PATHDIR"
|
||||||
|
rm -f $IMGPATH && rm -f $IMGPATH.{sum,torrent}
|
||||||
|
else
|
||||||
|
# Eliminar directorio de imagen sincronizada.
|
||||||
|
IMGPATH="$OGIMG/$1"
|
||||||
|
if [ -d $IMGPATH ]; then
|
||||||
|
echo "Borrando directorio $PATHDIR"
|
||||||
|
rm -fr $IMGPATH
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
# Recuperar copia de seguridad de la imagen.
|
# Recuperar copia de seguridad de la imagen.
|
||||||
if [ -n "$RECOVERBACKUP" ]; then
|
if [ -n "$RECOVERBACKUP" ]; then
|
||||||
mv -f $IMGFILE.$BAKEXT $IMGFILE && \
|
[ -e $IMGPATH.$BAKEXT ] && echo "Recuperando copia $IMGPATH.$BAKEXT"
|
||||||
(mv -f $IMGFILE.sum.$BAKEXT $IMGFILE.sum 2>/dev/null
|
mv -f $IMGPATH.$BAKEXT $IMGPATH && \
|
||||||
mv -f $IMGFILE.torrent.$BAKEXT $IMGFILE.torrent 2>/dev/null)
|
(mv -f $IMGPATH.sum.$BAKEXT $IMGPATH.sum 2>/dev/null
|
||||||
|
mv -f $IMGPATH.torrent.$BAKEXT $IMGPATH.torrent 2>/dev/null)
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Borrar copia de seguridad de la imagen.
|
# Borrar copia de seguridad de la imagen.
|
||||||
if [ -n "$DELETEBACKUP" ]; then
|
if [ -n "$DELETEBACKUP" ]; then
|
||||||
rm -f $IMGFILE.$BAKEXT && rm -f $IMGFILE.{sum,torrent}.$BAKEXT
|
[ -e $IMGPATH ] && echo "Eliminando copia $IMGPATH.$BAKEXT"
|
||||||
|
rm -f $IMGPATH.$BAKEXT && rm -f $IMGPATH.{sum,torrent}.$BAKEXT
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Borrar directorio de imagen
|
|
||||||
IMGFILECA="$OGIMG/$1"
|
|
||||||
if [ -n "$DELETEINCREMEN" ];then
|
|
||||||
rm -R $IMGFILECA && exit
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Si el Nombre canonico es un directorio eliminamos
|
|
||||||
# o si la opcion es i tambien eliminamos
|
|
||||||
IMGFILECA="$OGIMG/$1"
|
|
||||||
if [ -n "$DELETEDIRECTORIO" ]; then
|
|
||||||
rm -R $IMGFILECA && exit
|
|
||||||
|
|
||||||
# Si el Nomobre canonico NO es un directorio
|
|
||||||
else
|
|
||||||
# Comprobamos si es un archivo backup .ant
|
|
||||||
NOMBREANT=$(echo $1 | awk -F. '{print $1}')
|
|
||||||
if [ $1 == "$NOMBREANT.$BAKEXT" ]; then
|
|
||||||
IMGFILE="$OGIMG/$NOMBREANT.$IMGEXT.$BAKEXT"
|
|
||||||
# Eliminar fichero de seguridad .img.ant
|
|
||||||
rm -f $IMGFILE
|
|
||||||
else
|
|
||||||
# Comprobamos si es un archivo diferencial .diff
|
|
||||||
NOMBREDIF="$OGIMG/$1.$IMGEXT.$DIFFEXT"
|
|
||||||
if [ -f $NOMBREDIF ]; then
|
|
||||||
IMGFILE="$OGIMG/$1.$IMGEXT.$DIFFEXT"
|
|
||||||
# Eliminar fichero diferencial .diff .torrent .sum
|
|
||||||
rm -f $IMGFILE && rm -f $IMGFILE.{sum,torrent}
|
|
||||||
|
|
||||||
else
|
|
||||||
# Fichero principal de la imagen.
|
|
||||||
IMGFILE="$OGIMG/$1.$IMGEXT"
|
|
||||||
# Eliminar ficheros de la imagen.
|
|
||||||
rm -f $IMGFILE && rm -f $IMGFILE.{sum,torrent}
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
fi
|
|
Loading…
Reference in New Issue