Uso rsync 3.1.1 per mantenere sincronizzati due dischi, uno dei quali è in rete e montato come condivisione samba /mnt/ROUTER_WD_2TB/
. Questa è l'origine, con una velocità massima di 30-40 MB / s a causa delle limitazioni della rete. L'altra, la destinazione, è montata localmente (picco 110 MB / s) ed è /mnt/BACKUP_HITACHI_2TB/
.
Uso il seguente comando rsync:
rsync -haAXi --quiet --append-verify --delete /mnt/ROUTER_WD_2TB/* /mnt/BACKUP_HITACHI_2TB/.
I dischi contengono molti file, molti dei quali piccoli.
Il problema è che rsync impiega molto tempo (10-20 m) prima di iniziare a spostare qualsiasi file, immagino perché deve calcolare elenchi di file per un numero molto grande di piccoli file. Durante questo periodo, l'utilizzo di newtwork si trova a un livello basso di 200-500 KB / s, mentre durante il trasferimento di file la velocità è di circa 40 MB / s.
Di solito succede che rsync impieghi circa 15m per trovare finalmente qualcosa che deve copiare, quindi impiega 5 secondi per copiarlo, quindi continua a cercare altri file da copiare per altri 5 minuti. Tutto sommato, una copia del file di 5 secondi finisce per durare 20 minuti!
C'è qualche misura che potrei prendere per evitare questo lungo periodo prima di copiare i file, oltre all'esclusione delle cartelle? Qualsiasi tipo di "cache" posso implementare in modo che rsync non debba ricostruire da zero tutto l'elenco dei file?