I usually backup between two Ubuntu machines, but I now want to use rsync to backup my Ubuntu server with a disk residing on a Mac. But I do not get it to work properly.

The first time all is well, but apparently there is a problem with special characters between the mac and ubuntu machine, since every time I run the rsync operation after that, the files with special characters are first deleted and then re-synced. It seems as if there is a problem with different character sets.

The preferred solution seems to be to use the --iconv option:

You can use rsync's --iconv option to convert between UTF-8 NFC & NFD, at least if you're on a Mac. There is a special utf-8-mac character set that stands for UTF-8 NFD. So to copy files from your Mac to your NAS, you'd need to run something like:

rsync -a --iconv=utf-8-mac,utf-8 localdir/ mynas:remotedir/

This will convert all the local filenames from UTF-8 NFD to UTF-8 NFC on the remote server. The files' contents won't be affected.

That sounds all and well, but my mac does not seem to recognise that option, since I get:

>     MyMachine:~ Macuser$ /usr/bin/rsync -av --delete --iconv=utf-8,utf-8-mac user@linuxmachine:/home/linuxuser/Test/ /Users/Macuser/Test/
>     rsync: --iconv=utf-8,utf-8-mac: unknown option
>     rsync error: syntax or usage error (code 1) at /SourceCache/rsync/rsync-42/rsync/main.c(1333) [client=2.6.9]

Any suggestions on how this problem should be solved?

Note, as is perhaps a little hidden in the 'code sample' above, the rsync version on my mac is 2.6.9.

EDIT: Although Jan solved this problem (see my ticked answer), I am still not quite there, since I now receive a new error:

iconv_open("UTF-8", "utf-8-mac") failed
rsync error: requested action not supported (code 4) at rsync.c(118) [sender=3.0.9]
rsync: connection unexpectedly closed (0 bytes received so far) [Receiver]
rsync error: error in rsync protocol data stream (code 12) at io.c(226) [Receiver=3.1.1]

I will make a separate query for this further question, however.

  • 1
    What version of OS X? 10.5 has rsync 2.6.9 but the iconv option is only available in rsync 3.x... – Jan Oct 8 '14 at 9:57
  • Thanks, that pretty much gives me an answer for why it is not working, although I do not know how to fix it.. yet (while I update programs on my Ubuntu all the time, the thought of using Terminal on my mac for updating shell programs makes me a bit insecure. – Nick The Swede Oct 8 '14 at 11:20
up vote 3 down vote accepted

OS X 10.5 has rsync 2.6.9 but the iconv option is only available in rsync 3.x....

To update rsync on your mac you could use macports (installation instructions).

A Macport (and Homebrew) tutorial is available here.

  • Thanks, the installation worked perfectly, and now I have rsync 3.1.1 on my Mac. But I still do not get it to work, I am afraid. I get the following error message: iconv_open("UTF-8", "utf-8-mac") failed rsync error: requested action not supported (code 4) at rsync.c(118) [sender=3.0.9] rsync: connection unexpectedly closed (0 bytes received so far) [Receiver] rsync error: error in rsync protocol data stream (code 12) at io.c(226) [Receiver=3.1.1] -- Can it be that the conversion is not supported on my linux machine, somehow (but I thought the mac now did it, so why does that matter?)? – Nick The Swede Oct 8 '14 at 12:00
  • 1
    Different subject, please open another question for that. – Jan Oct 8 '14 at 12:57
  • You are probably right, although my limited knowledge of the inner workings of linux in general makes it hard to tell for me, since my question original is how to get the Linux-Mac rsync to function with special characters. And that full problem is not yet solved. Still, I think it is more instructive to others to divide that (now evidently) complex question into two, and so I will edit my question accordingly and accept this answer, since now accepting the iconv option. I am much obliged, sir: feel free to ponder 'part 2 of my problem as well (soon to be asked). – Nick The Swede Oct 8 '14 at 15:17
  • 1
    and then it is important to use the --rsync-path option from the NAs to specify the location of the upgraded rsync on the mac... – meduz Dec 15 '15 at 21:39

Your Answer

 

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

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