#!/bin/bash # Eliminar las imágenees del repositiro seg�raca de la consola web. #Version 0.3 Ejecución desde cron cada minuto. #echo "* * * * * root /opt/opengnsys/bin/image-delete" > /etc/cron.d/imagedelete # Version 1.1.0 - Llamar a script "checkrepo". # Comprobar si el proceso ya está en ejecución. PROG=$(basename $0) [ "$(pgrep "$PROG")" != "$$" ] && exit # Variables. OPENGNSYS=${OPENGNSYS:-"/opt/opengnsys"} PATH=$PATH:$OPENGNSYS/bin OGIMG="$OPENGNSYS/images" REPOCFG="$OPENGNSYS/etc/ogAdmRepo.cfg" LOGFILE="$OPENGNSYS/log/$PROG.log" # Error si no está bien configurado el repositorio de imágenes. [ -d $OGIMG -a -f $REPOCFG ] || exit 1 # Procesar ficheros de imágenes. trap 'echo "`date` : Proceso interrumpido" >> $LOGFILE; exit ' 1 2 3 6 9 15 #TODO en LOCAL: si existe algún fichero *.delete lo movemos al repositorio ls $OPENGNSYS/www/tmp/*.delete &>/dev/null || (checkrepo; exit) mv $OPENGNSYS/www/tmp/*.* $OGIMG #TODO: iniciar blucle siempre y cuando haya algun delete ls /opt/opengnsys/images/*.delete &>/dev/null || exit for IMG in `ls $OGIMG/*.delete`; do # Obtenemos el nombre de la imagen DELETEIMAGE=$(echo ${IMG%%.*} | awk -F"$OGIMG/" '{print $2}') # Borramos marca .delete para que el próximo cron no trabaje sobre este conjunto. [ -f $IMG ] && rm $IMG ## Comprobamos si es una imagen de backup DELETEant=$(echo $IMG | awk -F"." '{print $3}') ## .ant ## Si la imagen es un backup se añade la extensión ant if [[ $DELETEant == "ant" ]]; then DELETEIMAGE=$DELETEIMAGE".ant" fi ## si directorio:imagen cambiamos : por / DELETEIMAGE=$(echo $DELETEIMAGE|tr : /) ## se llama al escript de borrado de imagen. deleteimage $DELETEIMAGE done # Actualizar información del repositorio. checkrepo