diff options
-rwxr-xr-x | admin/Sources/Services/ogAdmRepoAux | 30 | ||||
-rwxr-xr-x | client/engine/Rsync.lib | 78 | ||||
-rwxr-xr-x | client/engine/System.lib | 1 | ||||
-rw-r--r-- | client/shared/etc/lang.ca_ES.conf | 3 | ||||
-rw-r--r-- | client/shared/etc/lang.en_GB.conf | 3 | ||||
-rw-r--r-- | client/shared/etc/lang.es_ES.conf | 3 | ||||
-rwxr-xr-x | client/shared/etc/preinit/loadenviron.sh | 1 | ||||
-rwxr-xr-x | client/shared/scripts/createBaseImage | 55 | ||||
-rwxr-xr-x | client/shared/scripts/createDiffImage | 33 |
9 files changed, 172 insertions, 35 deletions
diff --git a/admin/Sources/Services/ogAdmRepoAux b/admin/Sources/Services/ogAdmRepoAux index d898036e..b26773a6 100755 --- a/admin/Sources/Services/ogAdmRepoAux +++ b/admin/Sources/Services/ogAdmRepoAux @@ -92,7 +92,6 @@ case "$PARM1" in # Redimensionamos la imagen al tamaño necesario # TODO modificar ogGetImageSize IMGSIZE=$(ls -lk $IMGFILE| cut -f5 -d" ") - echolog "$IMGSIZE" if [ $IMGSIZE -lt $SIZEREQUIRED ];then echolog "truncate --size=\">$SIZEREQUIRED\"k $IMGFILE" truncate --size=">$SIZEREQUIRED"k $IMGFILE 2>&1 > $REPOLOG @@ -156,6 +155,35 @@ case "$PARM1" in umount $MOUNTDIR ;; + REDUCE_IMAGE) + # Reduce el archivo de la imagen a tamaño datos + 500M + #1 REDUCE_IMAGE + #2 Nombre Imagen + #3 Extensión [ img |diff ] + IMGEXT="$PARM3" + IMGFILE="$REPODIR$PARM2.$IMGEXT" + [ ! -f $IMGFILE ] && echolog "Imagen no existe" && exit 1 + MOUNTDIR="$REPODIR""mount/${PARM2}" + [ "$IMGEXT" == "diff" ] && MOUNTDIR="$MOUNTDIR.$IMGEXT" + + mount -o compress=lzo "$IMGFILE" "$MOUNTDIR" + AVAILABLE=$(df -k|grep $MOUNTDIR|awk '{print $4}') + + # Si el espacio libre menor que 500Mb desmontamos la imagen y nos salimos + if [ $AVAILABLE -lt 500000 ]; then + umount $MOUNTDIR + exit 0 + fi + + USED=$(df -k|grep $MOUNTDIR|awk '{print $3}') + let ENDSIZE=USED+500000 + echolog "reducir imagen REPO $PARM2 $IMGEXT, tamaño final: $ENDSIZE" + echolog btrfs filesystem resize "$ENDSIZE"k $MOUNTDIR + btrfs filesystem resize "$ENDSIZE"k $MOUNTDIR + umount $MOUNTDIR + echolog "truncate --size=\"$ENDSIZE\"k $IMGFILE" + truncate --size="$ENDSIZE"k $IMGFILE + ;; default) echolog "Solicitud con parametros \"$PARM\" no realizada, no registrada o con errores" ;; diff --git a/client/engine/Rsync.lib b/client/engine/Rsync.lib index 407ca93e..fce4ac7e 100755 --- a/client/engine/Rsync.lib +++ b/client/engine/Rsync.lib @@ -42,6 +42,13 @@ if [ "$1" == "CACHE" -o "$1" == "cache" ]; then LOOPDEVICE=$(losetup -f) # Si existe el fichero de la imagen se hace copia de seguridad, si no existe se crea. if [ -f "$IMGFILE" ]; then + # Si la imagen esta montada la desmonto + if [ -r "$DIRMOUNT/ogimg.info" ]; then + echolog "umount $DIRMOUNT" + umount "$DIRMOUNT" + [ $? -ne 0 ] && return $(ogRaiseError $OG_ERR_DONTUNMOUNT_IMAGE "$1 $2.$3"; echo $?) + fi + if [ "$BACKUP" == "true" ]; then # Copia seguridad echo " $MSG_SCRIPTS_FILE_RENAME \"$IMGFILE\" -> \"$IMGFILE.ant\"." | tee -a $OGLOGSESSION $OGLOGFILE @@ -431,21 +438,24 @@ fi DIRMOUNT=$(ogGetMountDir "$2" $IMGEXT) if [ "$1" == "CACHE" -o "$1" == "cache" ]; then - IMGFILE=$(ogGetPath "$1" /"$2.$IMGEXT") - mkdir -p "/tmp/$DIRMOUNT" + IMGFILE=$(ogGetPath "$1" /"$2.$IMGEXT") + mkdir -p "/tmp/$DIRMOUNT" mount -o compress=lzo "$IMGFILE" "/tmp/$DIRMOUNT" 1>/dev/null echo "/tmp/$DIRMOUNT" else - [ -z $REPOIP ] && REPOIP=$(ogGetRepoIp) + [ -z $REPOIP ] && REPOIP=$(ogGetRepoIp) hose $REPOIP 2009 --out sh -c "echo -ne MOUNT_IMAGE \"$2\" $IMGEXT" - echo "$OGIMG/$DIRMOUNT" + echo "$OGIMG/$DIRMOUNT" fi } + + + function ogUnmountImage () { #/** # ogUnmountImage [ REPO | CACHE ] Image_name [ extension ] @@ -563,3 +573,63 @@ done echo "" } + +function ogReduceImage () { +#/** +# ogReduceImage +#@brief Reduce el archivo de la imagen a tamaño datos + 500M +#@param 1 Repositorio [ REPO | CACHE ] +#@param 2 Nombre Imagen +#@param 3 Extensión [ img |diff ] +#@return +#@exception OG_ERR_FORMAT # 1 formato incorrecto. +#@exception OG_ERR_NOTFOUND # 2 Fichero o dispositivo no encontrado. +#*/ +local IMGEXT DIRMOUNT AVAILABLE USED IMGDIR IMGFILE ENDSIZE +if [ "$*" == "help" ]; then + ogHelp "$FUNCNAME" "$FUNCNAME [ REPO|CACHE ] image_name [ extension ]" \ + "$FUNCNAME REPO Ubuntu12" \ + "$FUNCNAME CACHE Windows7 diff" + return +fi + +if [ $# -lt 2 ]; then + ogRaiseError $OG_ERR_FORMAT "$MSG_FORMAT: $FUNCNAME [ REPO|CACHE ] image_name [ extension ]" + return $? +fi + +[ "$3" == "" ] && IMGEXT="img" || IMGEXT="$3" + +if [ "$1" == "CACHE" -o "$1" == "cache" ]; then + # Al montar se comprueba la existencia de la imagen + DIRMOUNT=$(ogMountImage $1 $2 $IMGEXT) + + AVAILABLE=$(df -k|grep $DIRMOUNT|awk '{print $4}') + # Si el espacio libre menor que 500Mb nos salimos + [ $AVAILABLE -lt 500000 ] && return 0 + + # Reducimos el archivo de imagen: + IMGDIR=$(ogGetParentPath "$1" "/$2") + IMGFILE=${IMGDIR}/$(basename "/$2").$IMGEXT + USED=$(df -k|grep $DIRMOUNT|awk '{print $3}') + let ENDSIZE=USED+500000 + echo -e -n " btrfs filesystem resize "$ENDSIZE"k $DIRMOUNT \n " + btrfs filesystem resize "$ENDSIZE"k $DIRMOUNT + ogUnmountImage $1 $2 $IMGEXT + echo " truncate --size=\"$ENDSIZE\"k $IMGFILE " + truncate --size="$ENDSIZE"k $IMGFILE +else + echo " hose $REPOIP 2009 --out sh -c echo -ne REDUCE_IMAGE \"$2\" $IMGEXT" + hose $REPOIP 2009 --out sh -c "echo -ne REDUCE_IMAGE \"$2\" $IMGEXT" +fi + + +} + + + + + + + + diff --git a/client/engine/System.lib b/client/engine/System.lib index def3bb62..bf26e66b 100755 --- a/client/engine/System.lib +++ b/client/engine/System.lib @@ -95,6 +95,7 @@ case "$CODE" in $OG_ERR_MCASTRECEIVERPARTITION) MSG="$MSG_ERR_MCASTRECEIVERPARTITION \"$2\"" ;; $OG_ERR_PROTOCOLJOINMASTER) MSG="$MSG_ERR_PROTOCOLJOINMASTER \"$2\"" ;; $OG_ERR_DONTMOUNT_IMAGE) MSG="$MSG_ERR_DONTMOUNT_IMAGE \"$2\"" ;; + $OG_ERR_DONTUNMOUNT_IMAGE) MSG="$MSG_ERR_DONTUNMOUNT_IMAGE \"$2\"" ;; $OG_ERR_DONTSYNC_IMAGE) MSG="$MSG_ERR_DONTSYNC_IMAGE \"$2\"" ;; *) MSG="$MSG_ERR_GENERIC"; CODE=$OG_ERR_GENERIC ;; esac diff --git a/client/shared/etc/lang.ca_ES.conf b/client/shared/etc/lang.ca_ES.conf index 04cbab10..4c5ae882 100644 --- a/client/shared/etc/lang.ca_ES.conf +++ b/client/shared/etc/lang.ca_ES.conf @@ -32,6 +32,7 @@ MSG_ERR_MCASTRECEIVERPARTITION="Error en la recepcion MULTICAST de un fichero" MSG_ERR_PROTOCOLJOINMASTER="Error en la conexion de una sesion UNICAST|MULTICAST con el MASTER" MSG_ERR_DONTMOUNT_IMAGE="Error al montar la imagen" MSG_ERR_DONTSYNC_IMAGE="Imagen no sincronizable" +MSG_ERR_DONTUNMOUNT_IMAGE="Error al desmontar la imagen" # Mensajes de avisos. @@ -163,8 +164,10 @@ MSG_HELP_ogMount="Monta un sistema de archivos y devuelve el punto de montaje." MSG_HELP_ogMountCache="Monta el sistema de archivos dedicado a caché local." MSG_HELP_ogMountCdrom="" MSG_HELP_ogMountFs=$MSG_HELP_ogMount +MSG_HELP_ogMountImage="Monta una imagen sincronizable" MSG_HELP_ogRaiseError="Muestra y registra mensajes de error y devuelve el código correspondiente." MSG_HELP_ogReduceFs="Reduce el tamaño del sistema de archivos al mínimo ocupado por sus datos." +MSG_HELP_ogReduceImage="Reduce el tamaño de la imagen" MSG_HELP_ogRestoreImage="Restaura una imagen de sistema operativo." MSG_HELP_ogRestoreInfoImage="Restablece informacion del sistema: acl y enlaces simbolicos" MSG_HELP_ogRestoreMbrImage="Restaura una imagen del sector de arranque (MBR)." diff --git a/client/shared/etc/lang.en_GB.conf b/client/shared/etc/lang.en_GB.conf index 8cdd5f29..25270e45 100644 --- a/client/shared/etc/lang.en_GB.conf +++ b/client/shared/etc/lang.en_GB.conf @@ -31,6 +31,7 @@ MSG_ERR_MCASTRECEIVERPARTITION="Error en la recepcion MULTICAST de un fichero" MSG_ERR_PROTOCOLJOINMASTER="Error en la conexion de una sesion UNICAST|MULTICAST con el MASTER" MSG_ERR_DONTMOUNT_IMAGE="Error al montar la imagen" MSG_ERR_DONTSYNC_IMAGE="Imagen no sincronizable" +MSG_ERR_DONTUNMOUNT_IMAGE="Error al desmontar la imagen" # Warning messages. @@ -151,8 +152,10 @@ MSG_HELP_ogMount="Mount a filesystem and display its mount point." MSG_HELP_ogMountCache="Mount the cache filesystem." MSG_HELP_ogMountCdrom="" MSG_HELP_ogMountFs=$MSG_HELP_ogMount +MSG_HELP_ogMountImage="Monta una imagen sincronizable" MSG_HELP_ogRaiseError="Muestra y registra mensajes de error y devuelve el código correspondiente." MSG_HELP_ogReduceFs="Reduce el tamaño del sistema de archivos al mínimo ocupado por sus datos." +MSG_HELP_ogReduceImage="Reduce el tamaño de la imagen" MSG_HELP_ogRestoreImage="Restore a filesystem image." MSG_HELP_ogRestoreInfoImage="Restablece informacion del sistema: acl y enlaces simbolicos" MSG_HELP_ogRestoreMbrImage="Restore the boot sector image (MBR)." diff --git a/client/shared/etc/lang.es_ES.conf b/client/shared/etc/lang.es_ES.conf index 1c7f9864..74098143 100644 --- a/client/shared/etc/lang.es_ES.conf +++ b/client/shared/etc/lang.es_ES.conf @@ -31,6 +31,7 @@ MSG_ERR_MCASTSENDPARTITION="Error en envio MULTICAST de una particion" MSG_ERR_MCASTRECEIVERPARTITION="Error en la recepcion MULTICAST de un fichero" MSG_ERR_PROTOCOLJOINMASTER="Error en la conexion de una sesion UNICAST|MULTICAST con el MASTER" MSG_ERR_DONTMOUNT_IMAGE="Error al montar la imagen" +MSG_ERR_DONTUNMOUNT_IMAGE="Error al desmontar la imagen" MSG_ERR_DONTSYNC_IMAGE="Imagen no sincronizable" # Mensajes de avisos. @@ -162,8 +163,10 @@ MSG_HELP_ogMount="Monta un sistema de archivos y devuelve el punto de montaje." MSG_HELP_ogMountCache="Monta el sistema de archivos dedicado a caché local." MSG_HELP_ogMountCdrom="" MSG_HELP_ogMountFs=$MSG_HELP_ogMount +MSG_HELP_ogMountImage="Monta una imagen sincronizable" MSG_HELP_ogRaiseError="Muestra y registra mensajes de error y devuelve el código correspondiente." MSG_HELP_ogReduceFs="Reduce el tamaño del sistema de archivos al mínimo ocupado por sus datos." +MSG_HELP_ogReduceImage="Reduce el tamaño de la imagen" MSG_HELP_ogRestoreImage="Restaura una imagen de sistema operativo." MSG_HELP_ogRestoreInfoImage="Restablece informacion del sistema: acl y enlaces simbolicos" MSG_HELP_ogRestoreMbrImage="Restaura una imagen del sector de arranque (MBR)." diff --git a/client/shared/etc/preinit/loadenviron.sh b/client/shared/etc/preinit/loadenviron.sh index 133bd593..bbcbb20d 100755 --- a/client/shared/etc/preinit/loadenviron.sh +++ b/client/shared/etc/preinit/loadenviron.sh @@ -119,3 +119,4 @@ export OG_ERR_PROTOCOLJOINMASTER=60 # Error en la conexion de una sesion UNICAS export OG_ERR_DONTMOUNT_IMAGE=70 # Error al montar una imagen sincronizada. export OG_ERR_DONTSYNC_IMAGE=71 # Imagen no sincronizable (es monolitica) +export OG_ERR_DONTUNMOUNT_IMAGE=72 # Error al desmontar la imagen diff --git a/client/shared/scripts/createBaseImage b/client/shared/scripts/createBaseImage index dfaa19c1..5d034567 100755 --- a/client/shared/scripts/createBaseImage +++ b/client/shared/scripts/createBaseImage @@ -26,6 +26,10 @@ trap "onexit $1 $2 $3 \"$4\"" 1 2 3 6 9 14 15 ERR +# Establecemos factor de compresion +COMPRESS=90/100 +COMPRESSLINUX=70/100 + # Si salimos con error demontamos la imagen y desbloqueamos la imagen y la particion function onexit() { local exit_status=$? @@ -42,11 +46,10 @@ TIME1=$SECONDS #Carga el configurador del engine desde el fichero engine.cfg [ -z $OGENGINECONFIGURATE ] && source /opt/opengnsys/etc/engine.cfg -# Opciones rsync +# Factor de calculo de Time out al crear imagen: valor por defecto en engine.cfg CREATESPEED=${CREATESPEED:-"100000*4"} PROG="$(basename $0)" -echo $PROG # Si se solicita, mostrar ayuda. if [ "$*" == "help" ]; then ogHelp "$PROG: $MSG_HELP_createBaseImage" \ @@ -79,27 +82,35 @@ echo " " > $OGLOGCOMMAND # Obtener información de los parámetros de entrada. PART=$(ogDiskToDev "$1" "$2" 2>/dev/null) || ogRaiseError $OG_ERR_PARTITION "$1 $2" +# Comprobamos que la particion se puede montar +ORIG=$(ogMount $1 $2) || ogRaiseError $OG_ERR_PARTITION "$1 $2" #Comprobamos acceso de escritura. DIRTEMP=$(date +%Y%m%d-%H%M%S) ogMakeDir $3 /$4$DIRTEMP 2>/dev/null || ogRaiseError $OG_ERR_NOTWRITE "$3" && ogDeleteTree $3 /$4$DIRTEMP +# Borramos ficheros de paginacion y configuracion +case "$(ogGetFsType $1 $2)" in + EXT[234]) + ogCleanLinuxDevices $1 $2 + rm -rf $ORIG/tmp/* + COMPRESS=$COMPRESSLINUX + ;; + NTFS) + ogDeleteFile $1 $2 pagefile.sys || echo "$?" + ogDeleteFile $1 $2 hiberfil.sys || echo "$?" + ;; +esac + #Comprobar espacio que requerira la imagen para ser almacenada -echo " " > $OGLOGCOMMAND -if ogMount $1 $2 &>/dev/null -then - SIZEDATA=$(df -k | grep $PART | awk '{print $3}') - #Aplicar factor de compresion - FACTORSYNC=90/100 - let SIZEREQUIRED=$SIZEDATA*$FACTORSYNC - # El tamaño mínimo del sistema de ficheros btrfs es 250M, ponemos 300 - [ $SIZEREQUIRED -lt 300000 ] && SIZEREQUIRED=300000 - #Comprobar espacio libre en el contenedor. - [ "$3" == "CACHE" -o "$3" == "cache" ] && SIZEFREE=$(ogGetFreeSize `ogFindCache`) - [ "$3" == "REPO" -o "$3" == "repo" ] && SIZEFREE=$(df -k | grep $OGIMG | awk '{print $4}') -else - ogRaiseError $OG_ERR_PARTITION "$1 $2" -fi +SIZEDATA=$(df -k | grep $PART | awk '{print $3}') +#Aplicar factor de compresion +let SIZEREQUIRED=$SIZEDATA*$COMPRESS +# El tamaño mínimo del sistema de ficheros btrfs es 250M, ponemos 300 +[ $SIZEREQUIRED -lt 300000 ] && SIZEREQUIRED=300000 +#Comprobar espacio libre en el contenedor. +[ "$3" == "CACHE" -o "$3" == "cache" ] && SIZEFREE=$(ogGetFreeSize `ogFindCache`) +[ "$3" == "REPO" -o "$3" == "repo" ] && SIZEFREE=$(df -k | grep $OGIMG | awk '{print $4}') echo "[16]$MSG_SCRIPTS_CREATE_SIZE $SIZEREQUIRED $SIZEFREE" | tee -a $OGLOGSESSION $OGLOGFILE [ $SIZEREQUIRED -gt $SIZEFREE ] && ogRaiseError $OG_ERR_CACHESIZE "$3" @@ -128,7 +139,6 @@ ogCreateFileImage $3 "$4" $IMGEXT $SIZEREQUIRED echo "[50] $MSG_HELP_ogCreateImage $1 $2 $3 $4 " | tee -a $OGLOGSESSION $OGLOGFILE echo " $MSG_HELP_ogCreateInfoImage" | tee -a $OGLOGSESSION $OGLOGFILE ogCreateInfoImage $1 $2 $IMGEXT -echo $? TIMEAUX3=$[SECONDS-TIME2] echo " $MSG_SCRIPTS_TASK_END, $MSG_SCRIPTS_TIME_PARTIAL : $[TIMEAUX3/60]m $[TIMEAUX3%60]s" | tee -a $OGLOGSESSION $OGLOGFILE @@ -141,9 +151,11 @@ ogWaitMountImage "$3" "$4" $IMGEXT $SIZEREQUIRED || ogRaiseError $OG_ERR_DONTMO echo " $MSG_HELP_ogSyncCreate." | tee -a $OGLOGSESSION $OGLOGFILE ogSyncCreate $1 $2 $3 "$4" $IMGEXT -echo " $MSG_HELP_ogUnmountImage: $3 /$4.$IMGEXT" | tee -a $OGLOGSESSION $OGLOGFILE -ogUnmountImage $3 "$4" $IMGEXT +# Reducimos la imagen +echo "[90] $MSG_HELP_ogReduceImage: $3 /$4.$IMGEXT" | tee -a $OGLOGSESSION $OGLOGFILE +ogReduceImage $3 "$4" $IMGEXT +#ogUnmountImage $3 "$4" $IMGEXT ogUnlockImage "$3" "/$4.$IMGEXT" ogUnlock $1 $2 TIMEAUX5=$[SECONDS-TIMEAUX3] @@ -158,10 +170,7 @@ echo " $MSG_SCRIPTS_TIME_PARTIAL : $[TIMEAUX7/60]m $[TIMEAUX7%60]s" | tee - #resumen de la operacion IMGSIZE=$(ls -s $IMGFILE | cut -f1 -d" ") -# TODO: Hay que cambiar la funcion ogGetImageInfo -#IMGOS=$(ogGetImageInfo `ogGetPath $3 $4.img`) NO FUNCIONA Hay que modificar la funcion para las imagenes squash TIME=$[SECONDS-TIME1] echo "[100] $MSG_SCRIPTS_TIME_TOTAL $[TIME/60]m $[TIME%60]s" | tee -a $OGLOGSESSION $OGLOGFILE echo " FileSystem $PART with $SIZEDATA KB data created onto file-image as $4 and used $IMGSIZE KB acros DFS rsync " | tee -a $OGLOGSESSION $OGLOGFILE -#echo " Image-file $4 metada: $IMGOS " | tee -a $OGLOGSESSION $OGLOGFILE diff --git a/client/shared/scripts/createDiffImage b/client/shared/scripts/createDiffImage index 721f747d..c0ccb846 100755 --- a/client/shared/scripts/createDiffImage +++ b/client/shared/scripts/createDiffImage @@ -39,9 +39,15 @@ function onexit() { fi exit $exit_status } + +# Establecemos factor de compresion +COMPRESS=90/100 +COMPRESSLINUX=70/100 + #Carga el configurador del engine desde el fichero engine.cfg [ -z $OGENGINECONFIGURATE ] && source /opt/opengnsys/etc/engine.cfg -# opciones de rsync + +# Factor de calculo de Time out al crear imagen: valor por defecto en engine.cfg CREATESPEED=${CREATESPEED:-"100000*4"} TIME1=$SECONDS @@ -108,6 +114,19 @@ ogCheckFs $1 $2 >$OGLOGCOMMAND || ogRaiseError $OG_ERR_PARTITION "ogCheckFs $1 $ TIMEAUX1=$[SECONDS-TIME1] echo " $MSG_SCRIPTS_TASK_END, $MSG_SCRIPTS_TIME_PARTIAL: $[TIMEAUX1/60]m $[TIMEAUX1%60]s" | tee -a $OGLOGSESSION $OGLOGFILE +# Borramos ficheros de paginacion y configuracion +case "$(ogGetFsType $1 $2)" in + EXT[234]) + ogCleanLinuxDevices $1 $2 + rm -rf $ORIG/tmp/* + COMPRESS=$COMPRESSLINUX + ;; + NTFS) + ogDeleteFile $1 $2 pagefile.sys + ogDeleteFile $1 $2 hiberfil.sys + ;; +esac + # Crear la imagen. echo " " > $OGLOGCOMMAND TIME2=$SECONDS @@ -135,8 +154,8 @@ ogLock $1 $2 echo -n " $MSG_SCRIPTS_CREATE_SIZE" | tee -a $OGLOGSESSION $OGLOGFILE cd $ORIG SIZEDATA=$(cat /tmp/ogimg.info | tr '\n' '\0'| du -c --files0-from=- 2>/dev/null|tail -n1 |cut -f1) -let SIZEREQUIRED=SIZEDATA*115/100 -# El tamaño mínimo del sistema de ficheros btrfs es 250M, ponemos 300 +let SIZEREQUIRED=$SIZEDATA*$COMPRESS +# Tamaño minimo fichero imagen 300000 [ $SIZEREQUIRED -lt 300000 ] && SIZEREQUIRED=300000 TIMEAUX4=$[SECONDS-TIMEAUX3] @@ -146,7 +165,7 @@ TIMEAUX4=$[SECONDS-TIMEAUX3] echo " $SIZEREQUIRED $SIZEFREE" | tee -a $OGLOGSESSION $OGLOGFILE [ $SIZEREQUIRED -gt $SIZEFREE ] && ogRaiseError $OG_ERR_CACHESIZE "$3" -echo " $MSG_SCRIPTS_TASK_END, $MSG_SCRIPTS_TIME_PARTIAL $SIZEREQUIRED: $[TIMEAUX4/60]m $[TIMEAUX4%60]s" | tee -a $OGLOGSESSION $OGLOGFILE +echo " $MSG_SCRIPTS_TASK_END, $MSG_SCRIPTS_TIME_PARTIAL: $[TIMEAUX4/60]m $[TIMEAUX4%60]s" | tee -a $OGLOGSESSION $OGLOGFILE # Configuro la informacion del tamaño de los datos en /tmp/ogimg.info sed -i s/SIZEDATA/"$SIZEDATA"/g /tmp/ogimg.info @@ -164,7 +183,9 @@ echo "[80] $MSG_HELP_ogSyncCreate" | tee -a $OGLOGSESSION $OGLOGFILE # Copio los datos a la imagen diferecial : ogSyncCreate $1 $2 $3 "$5" $DIFFEXT -ogUnmountImage $3 "$5" $DIFFEXT +# Reducimos la imagen diferencial +echo "[90] $MSG_HELP_ogReduceImage: $3 /$4.$IMGEXT" | tee -a $OGLOGSESSION $OGLOGFILE +ogReduceImage $3 "$5" $DIFFEXT ogUnmountImage $3 "$4" $IMGEXT @@ -184,8 +205,6 @@ file "$DIFFFILE" |grep "BTRFS Filesystem" >/dev/null || ogRaiseError $OG_ERR_IM #resumen de la operacion IMGSIZE=$(ls -s ${DIFFFILE[CACHE]}| cut -f1 -d" ") -#IMGOS=$(ogGetImageInfo `ogGetPath $3 $4.img`) NO FUNCIONA Hay que modificar la funcion para las imagenes squash - TIME=$[SECONDS-TIME1] echo "[100] $MSG_SCRIPTS_TIME_TOTAL $[TIME/60]m $[TIME%60]s" | tee -a $OGLOGSESSION $OGLOGFILE echo " FileSystem $PART with $SIZEDATA KB data created onto file-image as $4 and used $IMGSIZE KB acros DFS rsync " | tee -a $OGLOGSESSION $OGLOGFILE |