2

I am trying to use rsync for back up using this command:

rsync -vaE --progress --delete /source /destination

My goal is to have the destination be an exact copy of the source. I have updated rsync to 3.1.2 (using homebrew) on my iMac running 10.11.6.

My problem: I use Finder to originally copy /source to /destination. Using Get Info, I see the size and number of items in source and destination are exact matches. Then I run the rsync command above to ensure destination is an exact match to source, but it rewrites many files (incl resource forks, .DS_Store files, etc) before completing successfully. But if I do another Get Info on source and destination the size and number of items no longer match.

Shouldn't destination be an exact copy of source after rsync, with the same size and number of items, etc? Shouldn't rsync exactly match destination to source, incl resource forks, hidden files, etc.? I am very inexperienced at Terminal and would appreciate any help and guidance.

A further oddity: if I run rsync twice in a row, the second run still finds files to write/rewrite. Why is this? Shouldn't the first run have exactly synchronized the directories?

6
  • If you are copying over many hundreds, (or thousands,) of files and/or directories, using Finder is not very efficient. Using rsync or the cp|mv Terminal commands provide a more precise method of mass file/directory operations, and you should rely on these commands for accuracy and reliability.
    – IconDaemon
    Commented Aug 10, 2016 at 0:29
  • Yes, I thought that rsync would be more reliable than Finder. But I don't understand why size/items match after a Finder copy, but not after a rsync.
    – UncaMikey
    Commented Aug 10, 2016 at 1:11
  • 1
    OS X rsync differs significantly from the Linux version. You should use the OS X version. In particular the -E option has TOTALLY different meaning.
    – Milliways
    Commented Aug 10, 2016 at 4:59
  • 1
    To add to the @Milliways comment, on version 3.1.2 of rsync, the -E option should be replaced by -AX (ACL + extended attributes).
    – athena
    Commented Aug 15, 2016 at 16:34
  • 1
    @danielAzuelos, thank you so much! Adding those options seems to have solved all my rsync problems. I now use "rsync -vaAX --progress --delete /source/ /destination/ " and it works just as I wanted. If you'd add it as an answer rather than as a comment I'd be glad to mark it up as solved. Thanks!
    – UncaMikey
    Commented Aug 15, 2016 at 19:53

2 Answers 2

1

rsync option -E is OK for the standard but too old version 2.6.9 of rsync which is provided with MacOS X (Mavericks, Yosemite & El Capitan). But this option -E has another function with standard rsync.

For a user installer version 3.1.2 which is the right one on MacOS X, then the standard options to maintain ACL and extended attributes are respectively -A and -X.

Here you should use:

rsync -aAvX --progress --delete /source /destination
0

This is not the answer I was looking for, but it is the best answer to my question of how to use rsync to backup up folders/files. After a lot of research and testing, I finally gave up on doing rsync, it is beyond my limited capabilities and I could not get it to do what I wanted. Fortunately, I found a very good, cheap GUI to rsync in the App Store: SyncBuddy. Very easy to use, very accurate, and yes, it is rsync, as shown in Activity Monitor.

You must log in to answer this question.

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