Rsync entre Ubuntu y Mac: cómo hacer que funcione la opción iconv

Rsync entre Ubuntu y Mac: cómo hacer que funcione la opción iconv

Normalmente hago copias de seguridad entre dos máquinas Ubuntu, pero ahora quiero usar rsync para hacer copias de seguridad de mi servidor Ubuntu con un disco que reside en una Mac. Pero no consigo que funcione correctamente.

La primera vez todo está bien, pero aparentemente hay un problema con los caracteres especiales entre la máquina Mac y Ubuntu, ya que cada vez que ejecuto la operación rsync después de eso, los archivos con caracteres especiales primero se eliminan y luego se vuelven a sincronizar. Parece que hay un problema con los diferentes conjuntos de caracteres.

Elsolución preferidaparece ser utilizar la --iconvopción:

Puedes usar la opción --iconv de rsync para convertir entre UTF-8 NFC y NFD, al menos si estás en una Mac. Hay un conjunto de caracteres especial utf-8-mac que significa UTF-8 NFD. Entonces, para copiar archivos desde su Mac a su NAS, necesitará ejecutar algo como:

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

Esto convertirá todos los nombres de archivos locales de UTF-8 NFD a UTF-8 NFC en el servidor remoto. El contenido de los archivos no se verá afectado.

Eso suena muy bien, pero mi Mac no parece reconocer esa opción, ya que aparece:

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

¿Alguna sugerencia sobre cómo debería resolverse este problema?

Tenga en cuenta que, como quizás esté un poco oculto en el 'ejemplo de código' anterior, la versión de rsync en mi Mac es 2.6.9.

EDITAR: Aunque Jan resolvió este problema (vea mi respuesta marcada), todavía no he llegado a ese punto, ya que ahora recibo un nuevo 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]

Yo haréuna consulta separadapara esta pregunta adicional, sin embargo.

Respuesta1

OS X 10.5 tiene rsync 2.6.9 pero la opción iconv solo está disponible en rsync 3.x....

Para actualizar rsync en tu mac puedes usar macports (Instrucciones de instalación).

Hay disponible un tutorial de Macport (y Homebrew)aquí.

información relacionada