I am about to move my data from my old iMac to a brand new MacBook Pro. I would like to start over with a fresh install on B and copy just a subset of my data, reinstalling applications from scratch, so I am not considering using Migration assistance.

I am thinking to use rsync to do the job, but I am confused about which options I should use.

Reading man pages, I came out with this:

rsync -vazHE --progress -e ssh andrea@imac:/remote/dir /local/dir/ 2> errors.log
  • v: verbose
  • a: archive, to keep times, symlinks, permissions, groups, owners and traverse directories recursively
  • z: to compress data
  • H: to keep any hard-link
  • E: to keep extended attributes
  • progress: to keep an eye on job progress

Am I not considering some other useful options?

  • I moved my data and the command worked like a charm. I checked some sample data with MD5 and everything was ok, except for the iPhoto folder, where I had the right size but many more files than expected. I suspect there are some links that where not handled correctly. – Ameba Spugnosa Apr 7 '13 at 18:16
  • If you happen to do this again, consider Truck.app. I wrote it to make rsync as easy as 'drag and drop'. It has good default options, but if you need to, you can get right down there in the engine bay and tune everything :) check it out if you want bonhardcomputing.com/truck – dave Jan 30 at 1:21

Personally, I'd be inclined to drop the z switch. Compression is only really useful over very slow connections (mobile data, dial-up) as the CPU is likely to become the bottleneck. I've certainly seen a drop in throughput with compression enabled.

Assuming your network is trusted, you would do well to use a more efficient, but perhaps less secure SSH cipher, like Blowfish or Arcfour, as this will probably speed up the operation a little (it certainly helps with VNC over SSH, or X11 forwarding over SSH). You can enable as follows:

-e="ssh -c blowfish"


-e="ssh -c arcfour"

I believe you could also use rsh instead of ssh which requires a bit of config but is completely insecure, but much faster.

I also use the -h switch to get more human readable numbers in MB/s as opposed to b/s.

Putting it all together:

rsync -vhaHE --progress -e "ssh -c blowfish" andrea@imac:/remote/dir /local/dir/ 2> errors.log
  • I know this is an old posting, but it helped greatly. Worth mentioning the command is to be run from the destination, not the source... unless you switch around the commands (which I stupidly didn't realize at first). Gotta love backups! ;) – IncredibleHat Aug 15 at 19:34

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .