Problemas de un Rsync de EXT3 a FAT32

Tratando de hacer un backup con Rsync de una unidad en EXT3 a un disco duro USB en FAT32 he podido apreciar que en el backup siempre faltan archivos y que Rsync siempre copia de nuevo todo el contenido incluso cuando no ha habido cambios.

La razón de todo esto está relacionada con el formato FAT32. Por un lado en FAT no es posible tener en el mismo directorio dos carpetas con el mismo nombre. Esto tampoco es posible en EXT3 pero al ser esta case sensitive te permite tener una carpeta "pruebas" y otra "PRUEBAS" en el mismo directorio. El resultado al tratar de copiar ambas carpetas al disco FAT32 es que la primera se copia correctamente pero la segunda es excluida de la copia. Optar por nombres distintos en las carpetas es la solución además de una práctica recomendada.

En cuanto a que Rsync siempre hace un volcado completo incluso cuando los archivos no han cambiado, se debe a que en FAT32 para almacenar la fecha en la que se ha modificado un archivo se dispone de una precisión máxima de solo 2 segundos. Esto hace que no coincida la fecha exacta de EXT3 con la fecha aproximada de FAT32, y dado que Rsync se basa en la comparación de estas fechas para determinar si el archivo ha sido modificado o no desde la última copia, decide volver a hacer el backup.

Para estos casos Rsync cuenta con dos soluciones. La primera por medio del parámetro --size-only, con el que solo considerará que deben copiarse de nuevo aquellos archivos que han cambiado su tamaño, pero no su fecha. Y la segunda y más recomendable por medio del parámetro --modify-window=1, que permite especificar un margen de tolerancia entre fechas, en este caso de 1 segundo.

En tal caso quedaría como sigue:

$ rsync -av --modify-window=1 /misDatos /media/discoUSB/


En estos casos se recomienda que el disco duro USB esté en formato EXT3, con lo que no solo no hará falta nada de todo esto sino que además el backup mantendrá intactos los permisos.

En primer lugar necesitamos saber cual es el disco que hemos de formatear, usando el comando df veremos un listado de los discos montados.

$ df
S.ficheros         Bloques de 1K   Usado    Dispon Uso% Montado en
/dev/sda1            477770292 448053764   5447136  99% /
tmpfs                   511984         0    511984   0% /lib/init/rw
varrun                  511984       104    511880   1% /var/run
varlock                 511984         0    511984   0% /var/lock
udev                    511984      2768    509216   1% /dev
tmpfs                   511984      1116    510868   1% /dev/shm
lrm                     511984      2004    509980   1% /lib/modules/2.6.27-14-generic/volatile
/dev/sdc1            1464778368 385243648 1079534720  27% /media/discoUSB


En mi caso el disco duro USB es el último del listado (sdc1) discoUSB.

A continuación lo desmontamos.

$sudo umount /media/discoUSB


Y formateamos en EXT3

$sudo mkfs.ext3 /dev/sdc1

mke2fs 1.41.3 (12-Oct-2008)
Etiqueta del sistema de ficheros=
Tipo de SO: Linux
Tamaño del bloque=4096 (bitácora=2)
Tamaño del fragmento=4096 (bitácora=2)
91578368 nodos-i, 366284000 bloques
18314200 bloques (5.00%) reservados para el superusuario
Primer bloque de datos=0
Número máximo de bloques del sistema de ficheros=0
11179 bloque de grupos
32768 bloques por grupo, 32768 fragmentos por grupo
8192 nodos-i por grupo
Respaldo del superbloque guardado en los bloques:
    32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
    4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968,
    102400000, 214990848

Escribiendo las tablas de nodos-i: hecho                           
Creating journal (32768 blocks): hecho
Escribiendo superbloques y la información contable del sistema de ficheros: hecho

Este sistema de ficheros se revisará automáticamente cada 33 montajes o
180 días, lo que suceda primero.  Utilice tune2fs -c o -i para cambiarlo.


Finalmente personalizamos el nombre del disco, en mi caso lo llamaré "Backup"

sudo e2label /dev/sdc1 Backup


Hay que tener en cuenta que no todos los sistemas operativos pueden trabajar con unidades en EXT2 o 3 por lo que lamentablemente hay veces en que no queda más remedio que hacer uso de los trucos arriba indicados.

15-08-2009


Comentarios:

Pues yo pienso que:


Suscribirse