Tengo música que reproduzco en mi automóvil, desde una memoria USB FAT32. La carpeta que uso para poner canciones está almacenada en mi disco duro EXT4. Agrego / elimino / vuelvo a etiquetar canciones regularmente y ocasionalmente quiero rsync
los cambios en la memoria USB. Pero por alguna razón desconocida (¿tal vez permisos?), rsync
Copia todos los archivos cada vez en lugar de solo los modificados. Estoy llamando rsync
como:
rsync -vrlptgD source dest
¿Cómo puedo hacer que funcione como quiero (es decir, saber cuándo un archivo no ha sido modificado y no copiarlo)?
--iconv
útil al pasar de la fuente de Linux a la MacOS demodify-window=2
porque=1
todavía copia todos los archivos. Copiando de NTFS a FAT32. Después de eso está bien sin embargo.--size-only
bandera para omitir archivos que coinciden en tamañoLas marcas de tiempo en FAT32 son demasiado diferentes de las de Unix para confiar en ellas para verificar los cambios de archivo, debe usar también el modificador -c, obligará a rsync a comparar todos los archivos para detectar cambios en lugar de confiar en las marcas de tiempo. Funcionará, pero es más lento.
Finalmente, hay un par de opciones en su comando que no pueden funcionar con los sistemas de archivos FAT32.
Como comenta htorque, las opciones no válidas no te harán daño, simplemente no harán nada. Pero debe agregar el modificador -c.
Esta:
debería funcionar (al menos funciona en mi computadora).
fuente
Estaba teniendo un problema similar en OSX, y la respuesta de Glutanamate no ayudó. Algunos de los archivos difieren en una hora; Esto puede deberse a que tiendo a cruzar zonas horarias con relativa frecuencia. Otros archivos están desactivados por un día o incluso un mes. No estoy seguro de por qué es esto. La suma de comprobación en algunos de los archivos con marcas de tiempo muy diferentes muestra que, de hecho, son idénticos.
En cualquier caso, parece que la
--size-only
opción, que indicarsync
ignorar las marcas de tiempo, funcionará para mis propósitos.-c
/--checksum
(como lo menciona Javier) también funciona, pero lleva un poco más de tiempo. Lo cronometré y me llevó aproximadamente un minuto comparar las sumas de verificación para el GB más o menos en el subdirectorio con el que estoy trabajando. Por supuesto, la velocidad a la que esto sucederá dependerá de la unidad más lenta del sistema; en mi caso, esa es la tarjeta SD en mi teléfono. Sin embargo, eso fue después de que ya había estado haciendo algo de manipulación de archivos (incluida la suma de comprobación), por lo que muchos de los archivos pueden haber sido copiados en la memoria caché de RAM.fuente
También debe evitar usar la popular opción -a. Mi recomendación sobre FAT32 es
--no-p: sin permiso
--Eliminar: elimine archivos y carpetas no coincidentes en el destino (si realmente quiere esto)
--progreso: muestra el progreso durante la transferencia. Es bueno para archivos grandes.
fuente
-vrc
, también lo hago-vrcz
Son demasiadas banderas (-vrlptgD) que estás usando. Recuerde, rsync es una utilidad de Linux y no funciona con Fat32 y NTFS de manera efectiva.
Tendrías que buscar trucos para poder usarlo.
Tratar:
Más información aquí.
fuente