¿Cómo puedo usar rsync con un sistema de archivos FAT?

27

Me gustaría escribir un script de copia de seguridad simple que guarde algunos datos en una unidad FAT. ¿Debo volver a formatear la unidad y usar un mejor sistema de archivos o es posible usar rsync con FAT? Si es así, ¿con qué problemas me puedo encontrar? ¿Sería mucho peor el rendimiento?

EDITAR: Esto está en Linux, ni siquiera sabía que había un rsync para Windows. Las fuentes son varios sistemas de archivos (es un desastre), y el destino está formateado actualmente con FAT32.

Gracias por sus respuestas, probablemente iré por un reformateo, ya que no estoy completamente seguro de los tamaños de archivo que tendremos.

Kim
fuente

Respuestas:

10

Recomendaría reformatear a un Linux fs si es posible. Como se mencionó, FAT tiene límites de tamaño de archivo relativamente bajos y es posible que no maneje los permisos y la propiedad de forma correcta. Más importante aún, FAT no rastrea los tiempos de modificación en los archivos con la misma precisión, por ejemplo, ext3 (FAT solo es preciso dentro de una ventana de 2 segundos). Esto lleva a un comportamiento particularmente desagradable con rsync ya que a veces decidirá que los archivos originales son más nuevos o más antiguos que el archivo de copia de seguridad lo suficiente como para que necesite volver a copiar los datos o al menos volver a verificar los hash. En general, tiene un rendimiento muy pobre en las copias de seguridad. Si debe seguir con FAT, busque en las marcas rsync --size-only y --modify-window como soluciones alternativas.

traxil
fuente
36

Utilizo rsync para hacer una copia de seguridad de mis fotos que almaceno y proceso en una computadora portátil con Linux (Ubuntu 10.4). Los respaldo a un NAS muy básico con disco duro de 1TB formateado como FAT32. La carcasa y el firmware del NAS son muy básicos, por lo que no permite volver a formatear la unidad.

El comando que uso es:

$ rsync --progress --modify-window=1 --update --recursive --times \
  /home/mloskot/Pictures /mnt/nas/Pictures

Para permitir una comparación de tiempo correcta, se usa la opción --modify-window = 1, porque FAT32 graba las marcas de tiempo del archivo con una resolución de 2 segundos que es diferente al sistema de archivos utilizado en Linux. La actualización para evitar la copia innecesaria de los archivos existentes se comporta como una copia de seguridad incremental.

Para hacer una comparación basada en el tamaño, puede especificar la opción de solo tamaño.

mloskot
fuente
Gracias por compartir,
revisaré
3
--modify-window = 1 hace una gran diferencia. Resolvió el - ahora termino en milisegundos en lugar de minutos.
Wolfgang Fahl el
44
Por alguna razón necesito usar --modify-window=2. Cuando lo usa 1, todavía copia todos los archivos. Copiando de NTFS a FAT32.
Luc
Ocasionalmente, incluso con --modify-window, rsync insistiría en copiar todos mis archivos. Estoy usando la --size-onlyopción ahora y eso está funcionando bien. Eso fue de Mac OS Extended (Case-sensitive, Journaled) a FAT32.
diachedelic
Probablemente sea una buena idea agregar '--ignore-errors --max-size = 4GB' para evitar bloquearse en archivos que no encajan en FAT32.
Maksym
2

¿Es este rsync en Linux a / desde un disco FAT (¿qué versión de FAT?) O está utilizando la versión de Windows cwRsync?

De cualquier manera, FAT16 y 32 funcionan con ambas versiones (no he probado FAT12 yo mismo). Si está en un sistema Linux, esperaría que el rendimiento de un sistema de archivos FAT sea un poco peor que usar un sistema de archivos de formato Linux, ya que en general son un poco más lentos (feliz de que alguien me ponga en este caso si estoy incorrecto).

Chopper3
fuente
1

Si reformatear! ¡Siempre debe usar un mejor sistema de archivos que FAT a menos que tenga que hacerlo por razones de compatibilidad!

Le sugiero que formatee la unidad utilizando el mismo sistema de archivos desde el que está sincronizando, de lo contrario, posiblemente perderá los permisos y atributos establecidos en sus archivos y directorios.

FAT (presumiblemente FAT32) podría ser problemático para los tamaños máximos de archivo debidos (4 GB), los tamaños máximos de volumen (2 TB, ¡un día de todos modos!), Fragmentación, etc.

Sin embargo, si nada de esto importa y solo desea un sistema de archivos simple, rápido y compatible, entonces FAT estará bien. En cuanto a la velocidad, debido a la falta de registro diario, permisos, etc., FAT podría superar las alternativas: NTFS / Ext3 / HFS ...

Jon Rhoades
fuente
1

¿Hay alguna razón por la que estás usando la unidad FAT? Rsync debería funcionar para guardar datos, pero perderá metainformación sobre archivos ... propiedad, permisos, etc. y corre el riesgo de tener problemas si alguna vez sincroniza archivos grandes ya que FAT tiene un límite de tamaño de archivo de 2 gigas.

No puedo comentar sobre el rendimiento, nunca lo he comparado con otros. Me imagino que también tiene mucho que ver con las propias especificaciones de la unidad, así como con el sistema de archivos con respecto a eso.

Si pudiera , volvería a formatear el formato nativo que planea usar con la computadora (¿OS X? ¿Linux?), Aunque solo sea para mantener los metadatos y perder la bofetada de la frente en unos meses cuando termine sincronizando algo que falla debido a limitaciones del sistema de archivos. a menudo se puede compartir con otros sistemas mediante el intercambio de exportaciones o si usa NTFS puede mantener algunos metadatos pero aún así obtener la mayor compatibilidad entre sistemas, ya que Mac, NT y Linux ahora admiten la capacidad NTFS R / W.

Bart Silverstrim
fuente