rsync + accents + delete = problemes

jakaix

Membre enregistré
21 Août 2007
2
0
Bonjour,

je m'arrache les cheveux (le peu qu'il me reste) avec une synchronisation via rsync.

L'objectif est de recopier, via ssh, un serveur samba sous AIX (unix d'IBM) sur mon mac.

Tout va bien sauf si les fichiers comportent des accents dans leur nom et que j'utilise l'option --delete de rsync.

Dans ce cas, rsync commence par supprimer le fichier puis le retransfert, même s'il n'a pas changé.

Voici la commande utilisée :
rsync -avru --delete -e ssh user@mon_IP:"/tmp/jak" /Volumes/sauvegarde

et le log :
receiving file list ... done
deleting jak/sécurisation
jak/
jak/sécurisation

Evidemment, le fichier sécurisation n'a pas bougé d'un octet entre temps.

La commande locale sur le mac renvoie :
LANG=
LC_COLLATE="C"
LC_CTYPE="C"
LC_MESSAGES="C"
LC_MONETARY="C"
LC_NUMERIC="C"
LC_TIME="C"
LC_ALL="C"

et sur l'AIX : LANG=C

Voila ma question du jour.

Merci à tous ceux qui lirons ce message jusqu'au bout !!

Jak
 
Bonjour,

Après de multiple recherches, j'ai trouvé que le codage d'un "e" accent aigue sur le mac prend 3 octets sur le filesystems HFS+ alors qu'il n'en prend que 2 sur mon système source (ls |od -c -x).

Je ne sais pas pourquoi mais rsync compare sans faire la conversion pendant la phase "delete" et remet le nom du fichier avec le format HFS+ lorsqu'il le copie ensuite.

Le contournement a été de mettre mon disque (heureusement, ce n'est pas le disque système) en ufs.

Maintenant tout fonctionne.

Jak