Rsync entre Ubuntu e Mac: como fazer com que a opção iconv funcione

1

Eu costumo fazer backup entre duas máquinas Ubuntu, mas agora eu quero usar o rsync para fazer backup do meu servidor Ubuntu com um disco residente em um Mac. Mas não consigo que funcione corretamente.

A primeira vez que tudo está bem, mas aparentemente há um problema com caracteres especiais entre o mac e o ubuntu, já que toda vez que eu executo o rsync, os arquivos com caracteres especiais são primeiro deletados e depois sincronizados novamente. . Parece que há um problema com diferentes conjuntos de caracteres.

A solução preferida parece ser a de usar a opção --iconv :

  

Você pode usar a opção --iconv do rsync para converter entre NFC & amp; UTF-8 NFD,   pelo menos se você estiver em um Mac. Existe um personagem especial utf-8-mac   conjunto que significa UTF-8 NFD. Então, para copiar arquivos do seu Mac para o seu   NAS, você precisaria executar algo como:

     

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

     

Isso converterá todos os nomes de arquivos locais de UTF-8 NFD para UTF-8 NFC no   servidor remoto. O conteúdo dos arquivos não será afetado.

Isso soa muito bem, mas meu mac parece não reconhecer essa opção, já que eu recebo:

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

Alguma sugestão sobre como este problema deve ser resolvido?

Note, como é talvez um pouco escondido no 'exemplo de código' acima, a versão do rsync no meu mac é 2.6.9.

EDIT: Embora o Jan tenha resolvido este problema (veja minha resposta marcada), ainda não estou lá, já que agora recebo um novo erro:

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]

Eu farei uma consulta separada para esta questão adicional, no entanto.

    
por Nick The Swede 08.10.2014 / 11:42

1 resposta

3

O OS X 10.5 possui o rsync 2.6.9, mas a opção iconv está disponível apenas no rsync 3.x ....

Para atualizar o rsync no seu mac, você pode usar macports ( instruções de instalação ).

Um tutorial sobre Macport (e Homebrew) está disponível aqui .

    
por Jan 08.10.2014 / 13:23