web-dev-qa-db-fra.com

Rsync entre Ubuntu et Mac: comment faire fonctionner l’option iconv

Je sauvegarde généralement entre deux machines Ubuntu, mais je souhaite maintenant utiliser rsync pour sauvegarder mon serveur Ubuntu avec un disque résidant sur un Mac. Mais je ne le fais pas fonctionner correctement.

La première fois, tout va bien, mais apparemment, il y a un problème de caractères spéciaux entre les ordinateurs Mac et Ubuntu, car chaque fois que j'exécute l'opération rsync par la suite, les fichiers contenant des caractères spéciaux sont d'abord supprimés, puis resynchronisés. Il semble qu'il y ait un problème avec différents jeux de caractères.

Le solution préférée semble utiliser l’option --iconv:

Vous pouvez utiliser l'option --iconv de rsync pour convertir UTF-8 NFC & NFD, du moins si vous êtes sur un Mac. Il existe un jeu de caractères spécial utf-8-mac qui correspond à UTF-8 NFD. Donc, pour copier des fichiers de votre Mac sur votre NAS, vous devez exécuter quelque chose comme:

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

Cela convertira tous les noms de fichiers locaux de UTF-8 NFD en UTF-8 NFC sur le serveur distant. Le contenu des fichiers ne sera pas affecté.

Cela sonne bien, mais mon mac ne semble pas reconnaître cette option, car je reçois:

>     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]

Des suggestions sur la façon dont ce problème devrait être résolu?

Notez que, comme cela est peut-être un peu caché dans l'exemple de code ci-dessus, la version de rsync sur mon mac est la 2.6.9.

EDIT: Bien que Jan ait résolu ce problème (voir ma réponse cochée), je ne suis toujours pas tout à fait là car je reçois maintenant une nouvelle erreur:

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]

Je vais faire ne requête distincte pour cette autre question, cependant.

1
Nick The Swede

OS X 10.5 a rsync 2.6.9 mais l’option iconv n’est disponible que dans rsync 3.x ....

Pour mettre à jour rsync sur votre mac, vous pouvez utiliser macports ( instructions d'installation ).

Un tutoriel Macport (et Homebrew) est disponible ici .

3
Jan