Copy hundreds of thousands files Mac to NAS
I'm trying to transfer my Aperture library to the NAS. It contains few hundred of thousands of files (quite small ones).
After OS X finishes copying the big files, the estimated time of the copy operation goes from 2 hours to 4–5 days (and growing).
I know that a solution could be to tar them and copy the tarball, but the problem is that the library I want to copy is about 80GB and I have only 10GB left on my Mac.
Any ideas how to copy them in such conditions?
The problem probably is that you are working with many small files, and most copying tools have an overhead per file. It's possible to tar the files up, pipe the data over to your destination, and unpack the archive on the other end, without ever actually creating a tarball anywhere on the system.
tar cf - "~/Pictures/Aperture Library" | (cd "/Volumes/NAS/" && tar xf -)
The downside of this is that you won't have any kind of progress meter, but it should be significantly faster than a more conventional copy.
You can use the rsync
command line tool to do a one-way synchronization of your files. The way rsync
works makes it easy to interrupt the process if you don't have the patience for it—you can easily resume it later on. Only the files that are still to be transferred will be copied.
You need to open Terminal.app, and then call rsync
like so:
rsync -avh --progress "~/Pictures/Aperture Library" "/Volumes/NAS/"
Here, the first path is pointing to your library, which by default should be under Pictures. If you're unsure, you can drag and drop the library to the terminal command line and it will fill the path automatically for you. The same goes for the path of your NAS.
The -a
option enables the archive mode, which sets some defaults, including recursive copying. -v
will make the command more verbose. -h
turns on human-readable file sizes.
Rsync will show you a progress meter. If you want to cancel the process, press CtrlC. You can call the command again to have rsync
continue.