Question rsync sous Windows + noms de fichiers non-ASCII


Y a-t-il une version de rsync qui fonctionne sur les versions Windows actuelles et peut gérer des noms de fichiers non-ASCII? Chaque version que j'ai vérifiée (y compris cwRsync et client rsync.net) échoue lamentablement sur les fichiers avec des caractères Unicode dans les noms.

Si une telle version de rsync n'existe pas, quoi autre outil que je pourrais utiliser pour la synchronisation efficace des fichiers entre Windows et Linux?

Je synchronise de grands arbres de fichiers, rarement changeants, sur un lien relativement lent. La différence entre la synchronisation de style rsync et les approches de copie complète est importante.


4
2018-05-01 20:07


origine


Je ne l'ai pas testé, mais qu'en est-il de l'installation de cygwin et de leur rsync? - gogators
@KevinVW: l'ai testé, les cygwin's rsync la version présente le bug dont je me plains. - 9000
avez-vous déjà essayé d'utiliser le --iconv option? - artistoex
@artistoex: oui, --iconv résout en effet le problème. S'il vous plaît faire votre commentaire dans une réponse afin que je puisse l'accepter :) - 9000


Réponses:


rsync offre un --iconv option pour la conversion de l'encodage des caractères du nom de fichier. Il accepte des arguments pour un contrôle plus fin de l’encodage source et cible.

Depuis la page de manuel rsync:

[...] you can fully specify what conversion to do by giving a 
local and a remote charset separated by a comma in the 
order --iconv=LOCAL,REMOTE, e.g.  --iconv=utf8,iso88591.

8
2018-05-12 09:51



J'utilise le démon rsync sous Linux comme serveur pour sauvegarder mes fichiers. Client cwRsync dans Windows pour les fichiers d'envoi. Je rencontre également le problème de l’encodage des noms de fichiers. Quand j'ai ajouté --iconv=gbk,utf8 dans les arguments de la ligne de commande, a eu une erreur inférieure à. Comment puis-je le glisser? envoi de la liste de fichiers incrémentiels rsync: writefd_unbuffered échec de l'écriture de 4 octets [expéditeur]: connexion réinitialisée par l'homologue (104) rsync: erreur de lecture: connexion réinitialisée par l'homologue (104) erreur rsync: erreur dans le flux de données du protocole rsync home / lapo / packaging / rsync-3.0.4-1 / src / rsync-3.0.4 / io.c (791) [expéditeur = 3.0.4] - IlPADlI
Vous devriez poster cela comme une question séparée - artistoex
Mais votre problème ressemble à ce qui est décrit ici: askubuntu.com/questions/249853/... - artistoex


Si vous avez essayé d'utiliser DeltaCopy, procurez-vous cygwin (= cygwin1.dll) compatible UTF-8 à partir de http://www.oki-osk.jp/esc/utf8-cygwin/ La solution a été un must pour les Japonais et ils l’ont au moins depuis 2006.

Décompressez le fichier binaire dll en utilisant 7zip deux fois. Supprimez ensuite le fichier original cygwin1.dll de votre dossier de programme DeltaCopy et placez-en le nouveau à la place. Attention: les anciens et les nouveaux ont exactement la même apparence. Gardez le clair quel est le nouveau. Après avoir modifié la DLL dans le client et le serveur, la transmission fonctionne correctement entre deux machines Windows. Malheureusement, la console client affiche du charabia quand il essaie d'afficher un nom de fichier comportant des caractères UTF-8 multi-octets, mais le transmissin fonctionne.

Je n'ai pas essayé ce qui se passe si le serveur de sauvegarde a Linux ou autre ressemblant à UNIX (par exemple Nas4Free) et que seul le client dans la machine Windows est réparé.

De toute évidence, rsync gère UTF-8, mais pas cygwin. Dans le cygwin de DeltaCopy, les noms de fichiers UTF-8 sont mal orthographiés et lorsque la copie d’un fichier est tentée de créer, le fichier semble avoir disparu.


1
2018-01-05 17:24