I happen to know about rsyn, and I use rsync to sync between my mac and a linux server as follows.

rsync -r -t -v MAC LINUX
rsync -r -t -v LINUX MAC

I expected to run the first command to sync, but I needed the second command also when a change is made in LINUX.

Am I missing something? Does rsync have an option to sync between two directories?


You want bi-directional sync. Take a look at unison, which does this: http://www.cis.upenn.edu/~bcpierce/unison/

For example, on Debian/Ubuntu:

$ sudo apt-get install unison
$ unison MAC/ LINUX/

If you have trouble with permissions (example ext4 -> FAT):

$ unison -perms 0 vlc-2.2.0/ /media/sf_vlc/vlc
Contacting server...
Looking for changes
Reconciling changes

vlc-2.2.0      vlc                
new dir  ---->            /  [f] 

Proceed with propagating updates? [] y
Propagating updates

rsync is actually not recommended for two-way sync (by its developers). The already recommended unison utility will be a better solution for you.

Also keep in mind that you probably have to deal with a lot of Mac specific HFS+ stuff when using rsync. So be sure to use a properly patched rsync3 on the Mac or expect problems with modification dates (when using the Mac OS X provided rsync 2.6.9.) If you don't know how to build a properly patched rsync 3 for the Mac, get mlbackup which includes just that. (Full disclosure: I am the author of mlbackup.) Get it from github and be sure to download the full package from the downloads. (The mlbackup repo does not include rsync 3 which you want in this case.) http://github.com/MacLemon/mlbackup

  • 5
    A link to the non-recommendation by rsync developers would be nice. – Wildcard Dec 14 '16 at 20:34
  • @Wildcard not from the developers, but this is relevant. – Ploni Jul 11 '18 at 3:17

You should also take a look at csync, which is open source and offers native bi-directional syncing.

FYI - as far as I know - csync is developed by people from the Samba team. And knowing that the Samba team also developed rsync, I take this as a token of quality.


Another excellent tool for bidirectional sync.....freefilesync

  • 4
    on Stack Exchange, we prefer answers that are more than just links. it would be great if you could expand a little on what this is (what makes it different from unison?) – strugee Nov 15 '13 at 21:15

I coded this small tool for my own needs:


It uses rsync and can handle file moves.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.