Utilizo rsync 3.1.1 para mantener sincronizados dos discos, uno de los cuales está en la red y montado como un recurso compartido de samba /mnt/ROUTER_WD_2TB/
. Esta es la fuente, con una velocidad máxima de 30-40 MB / s debido a las limitaciones de la red. El otro, el destino, se monta localmente (pico 110 MB / s) y es /mnt/BACKUP_HITACHI_2TB/
.
Yo uso el siguiente comando rsync:
rsync -haAXi --quiet --append-verify --delete /mnt/ROUTER_WD_2TB/* /mnt/BACKUP_HITACHI_2TB/.
Los discos contienen muchos archivos, la mayoría de ellos pequeños.
El problema es que rsync lleva bastante tiempo (10-20m) antes de comenzar a mover cualquier archivo, supongo porque tiene que calcular listas de archivos para una gran cantidad de archivos pequeños. Durante este período, la utilización de redes nuevas se ubica en un nivel bajo de 200-500 KB / s, mientras que al transferir archivos la velocidad es de aproximadamente 40 MB / s.
Suele suceder que rsync tarda unos 15 m en encontrar finalmente algo que tiene que copiar, luego tarda 5 segundos en copiarlo, luego continúa buscando otros archivos para copiar durante otros 5 minutos. Con todo, ¡una copia de archivo de 5 segundos termina durando 20 minutos!
¿Hay alguna medida que pueda tomar para evitar este largo período antes de copiar los archivos, aparte de excluir carpetas? ¿Puedo implementar algún tipo de "caché" para que rsync no tenga que reconstruir toda la lista de archivos desde cero?