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.
Best Answer
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.