I have to copy some TB of data from one external drive to another (mostly ~400 MB files). The source is NTFS-formatted USB2 and the best read speed I can get from it is 7MB/s. The target is HFS+ USB3 and the write speed is considerably higher than that.
The NTFS filesystem isn't OK, and only NTFS-3g (slow, userspace) can read all the files in it, not even Windows can do it or I'd use that.
I'm using rsync -va /Volumes/source /Volumes/target
to perform the copy.
Is there a way, in rsync or OS X, to cache the writes, so that the target doesn't need to be permanently writing at a slow speed for days? Something like filling 1GB or 2GB or even 4GB of RAM before writing? Thus the target drive would spend a few days doing
write - rest - rest - rest - rest - rest
write - rest - rest - rest - rest - rest
write - rest - rest - rest - rest - rest
...
instead of spending all those days continuously writing at a slow speed.
Another possibility, given that most files are large, would be to have rsync only write any given file after it's finished reading it, but I found no way to do that either.
Or is it better to just spend the whole time continuously writing at a slow speed?