Tengo un problema con el uso de rsync para hacer copias de seguridad de archivos en mi máquina Linux remota en mi Mac. La primera vez, todo está bien, pero aparentemente hay un problema con los caracteres especiales entre la máquina mac y linux, 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 como si hubiera un problema con diferentes conjuntos de caracteres.
La solución preferida parece ser usar la opción --iconv
:
Puedes usar la opción --iconv de rsync para convertir entre UTF-8 NFC & NFD, Al menos si estás en una Mac. Hay un caracter especial de utf-8-mac conjunto que significa UTF-8 NFD. Así que para copiar archivos de tu Mac a tu NAS, necesitarías 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 bien, pero mi Mac no parece reconocer esa opción, ya que recibo:
> 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 qué hacer?
EDITAR: la versión rsync en mi mac es 2.6.9.
Macuser$ rsync --version
rsync version 2.6.9 protocol version 29
Si esa versión no admite la opción --iconv
, ¿cómo actualizo de manera segura?
EDITAR: finalmente descubrí que, además de actualizar rsync, también tuve que cambiar el orden en el que especificé los conjuntos de caracteres, así que agregué una respuesta a continuación.