Version imprimable du sujet

Cliquez ici pour voir ce sujet dans son format original

Forums MacBidouille _ UNIX _ rsync: erreur de rédaction

Écrit par : JPM01 16 Mar 2016, 12:44

Bonjour
Il y a quelques années la commande rsync ne me posait aucun problème pour fonctionner; je m'y suis remis sous 10.9.5 et cela ne fonctionne plus dans Terminal: je tape rsync "source" "destination" dans Terminal et j'ai systématiquement une erreur:

La commande complète est:
rsync -Haurov “/Users/jeanpierre/Documents/cron“ “/Volumes/Clone\ Samsung/Users/Shared“

Le chemin d'accès est obtenu par glissé/déposé du fichier, il y a une espace entre source et destination

La réponse:

building file list ... rsync: link_stat "/Users/jeanpierre/?\#200\#234/Users/jeanpierre/Documents/cron?\#200\#234" failed: No such file or directory (2)
done
rsync: push_dir#3 "/Users/jeanpierre/?\#200\#234/Volumes/Clone Samsung/Users" failed: No such file or directory (2)
rsync error: errors selecting input/output files, dirs (code 3) at /SourceCache/rsync/rsync-42/rsync/main.c(580) [receiver=2.6.9]
rsync: connection unexpectedly closed (8 bytes received so far) [sender]
rsync error: error in rsync protocol data stream (code 12) at /SourceCache/rsync/rsync-42/rsync/io.c(452) [sender=2.6.9]

Pouvez-vous m'éclairer ? Merci

Écrit par : teddy7545 16 Mar 2016, 18:08

Bonjour,

Les liens de source et de destination ne sont pas corrects (No such file or directory).

Lorsque tu utilises cette la méthode de glisser/déposer depuis le Finder vers le terminal, les liens obtenus sont automatiquement rédigés avec les caractères d'échappement nécessaires \ devant les espaces notamment.
Si tu ajoutes des guillemets, les caractères d'échappement n'en sont plus (ils sont pris comme caractères dans la chaine) et les liens ne sont donc plus justes car ils contiennent des caractères supplémentaires.
Il faut donc soit ne pas mettre de guillemets, soit enlever manuellement tous les caractères d'échappement devant les espaces compris entre les guillemets.

Exemples pour illustrer mon propos :

Code
macbookpro:Desktop teddy2$ echo test\ a \ faire
test a  faire
macbookpro:Desktop teddy2$ echo "test\ a \ faire"
test\ a \ faire

De plus dans ton log on voit qu'il y a une partie étrange dans tes liens (/?\#200\#234/).
En fait tu ne semble pas utiliser les bons guillemets et il semble que tu utilises les caractère “ obtenu avec (alt 3) au lieu des guillemets double (QUOTATION MARK) directement sur la touche 3.

Si on analyse les caractères de ta chaine on obtient :
Code
0000000    r   s   y   n   c       -   H   a   u   r   o   v       “  **
           r   s   y   n   c  sp   -   H   a   u   r   o   v  sp   ?  80
          162 163 171 156 143 040 055 110 141 165 162 157 166 040 342 200
           72  73  79  6e  63  20  2d  48  61  75  72  6f  76  20  e2  80
0000020   **   /   U   s   e   r   s   /   j   e   a   n   p   i   e   r
          9c   /   U   s   e   r   s   /   j   e   a   n   p   i   e   r
          234 057 125 163 145 162 163 057 152 145 141 156 160 151 145 162
           9c  2f  55  73  65  72  73  2f  6a  65  61  6e  70  69  65  72
0000040    r   e   /   D   o   c   u   m   e   n   t   s   /   c   r   o
           r   e   /   D   o   c   u   m   e   n   t   s   /   c   r   o
          162 145 057 104 157 143 165 155 145 156 164 163 057 143 162 157
           72  65  2f  44  6f  63  75  6d  65  6e  74  73  2f  63  72  6f
0000060    n   “  **  **       “  **  **   /   V   o   l   u   m   e   s
           n   ?  80  9c  sp   ?  80  9c   /   V   o   l   u   m   e   s
          156 342 200 234 040 342 200 234 057 126 157 154 165 155 145 163
           6e  e2  80  9c  20  e2  80  9c  2f  56  6f  6c  75  6d  65  73
0000100    /   C   l   o   n   e   \       S   a   m   s   u   n   g   /
           /   C   l   o   n   e   \  sp   S   a   m   s   u   n   g   /
          057 103 154 157 156 145 134 040 123 141 155 163 165 156 147 057
           2f  43  6c  6f  6e  65  5c  20  53  61  6d  73  75  6e  67  2f
0000120    U   s   e   r   s   /   S   h   a   r   e   d  \n            
           U   s   e   r   s   /   S   h   a   r   e   d  nl            
          125 163 145 162 163 057 123 150 141 162 145 144 012            
           55  73  65  72  73  2f  53  68  61  72  65  64  0a

On retrouve les suites de codes 342 200 234 en octal (E2 80 9C en hexa) qui représentent le code UTF8 des mauvais guillemets (LEFT DOUBLE QUOTATION MARK).
Les guillemets standard ont le code 042 en octal (22 en Hexa)

Donc il faut éliminer ou corriger les guillemets que tu utilises

Écrit par : JPM01 16 Mar 2016, 19:04

Pfff... chapeau, c'est exactement ça ! Effectivement le guillemet n'était déja pas le bon, et le placement de l'anti-slash aux bons endroits a tout résolu.
Bravo et merci !

Écrit par : trouspinette 13 Feb 2017, 12:21

Citation (teddy7545 @ 16 Mar 2016, 18:08) *
Si on analyse les caractères de ta chaine on obtient :
Code
0000000    r   s   y   n   c       -   H   a   u   r   o   v       “  **
           r   s   y   n   c  sp   -   H   a   u   r   o   v  sp   ?  80
          162 163 171 156 143 040 055 110 141 165 162 157 166 040 342 200
           72  73  79  6e  63  20  2d  48  61  75  72  6f  76  20  e2  80
0000020   **   /   U   s   e   r   s   /   j   e   a   n   p   i   e   r
          9c   /   U   s   e   r   s   /   j   e   a   n   p   i   e   r
          234 057 125 163 145 162 163 057 152 145 141 156 160 151 145 162
           9c  2f  55  73  65  72  73  2f  6a  65  61  6e  70  69  65  72
0000040    r   e   /   D   o   c   u   m   e   n   t   s   /   c   r   o
           r   e   /   D   o   c   u   m   e   n   t   s   /   c   r   o
          162 145 057 104 157 143 165 155 145 156 164 163 057 143 162 157
           72  65  2f  44  6f  63  75  6d  65  6e  74  73  2f  63  72  6f
0000060    n   “  **  **       “  **  **   /   V   o   l   u   m   e   s
           n   ?  80  9c  sp   ?  80  9c   /   V   o   l   u   m   e   s
          156 342 200 234 040 342 200 234 057 126 157 154 165 155 145 163
           6e  e2  80  9c  20  e2  80  9c  2f  56  6f  6c  75  6d  65  73
0000100    /   C   l   o   n   e   \       S   a   m   s   u   n   g   /
           /   C   l   o   n   e   \  sp   S   a   m   s   u   n   g   /
          057 103 154 157 156 145 134 040 123 141 155 163 165 156 147 057
           2f  43  6c  6f  6e  65  5c  20  53  61  6d  73  75  6e  67  2f
0000120    U   s   e   r   s   /   S   h   a   r   e   d  \n            
           U   s   e   r   s   /   S   h   a   r   e   d  nl            
          125 163 145 162 163 057 123 150 141 162 145 144 012            
           55  73  65  72  73  2f  53  68  61  72  65  64  0a

Tu convertis comment ?? A l'aide d'une commande od ?

Écrit par : teddy7545 13 Feb 2017, 14:25

Bonjour trouspinette

Oui avec od sur terminal.
Tu peux choisir différents descripteurs pour avoir à la fois les caractères, les valeurs en décimal en octal et/ou en hexa.


Écrit par : matador86 6 May 2018, 11:10

Bonjour,

Je viens de découvrir la commande rsync et ses options, et je pense tester tout ca prochainement pour sauvegarder tous les répertoires et fichiers des utilisateurs d´un pc (2 utilisateurs) sur un disque dur externe qui sera formatté en EXT3, ce qui me permettra si j´ai tout suivi de conserver les droits des fichiers.

si j´ai bien compris ce que j´ai lu sur le forum, si je lance rsync sous mon compte d´utilisateur je ne pourrai que sauver les données relatives à mon compte. Comment dois je faire pour sauvegarder les données de tous les utilsateurs ?

lancer rsync en me connectant en tant que root ?
Liens supprimés
si oui, je suppose que dans ce cas je devrai désigner root en tant que propriétaire du disque dur ? Si je le formatte en EXT3 à partir de mon compte utilisateur, est ce moi qui en sera le propriétaire par défaut ?

Merci pour vos réponses!

Écrit par : teddy7545 2 Jun 2018, 16:53

Bonjour,

Je viens de voir ce message tardivement.
Mais de toute façon pas tout compris. huh.gif même si tu es un nouvel inscrit.
Pourquoi ne pas ouvrir un nouveau sujet plutôt que d'ajouter un nouveau sujet à la fin d'un fil qui ne concerne pas exactement le même sujet ?
Pourquoi venir parler de rsync pour un PC avec un disque EXT3 alors qu'on est sur un Forum qui concerne les machines Apple ?
Surtout que sur PC, rsync n'est pas installé en standard et qu'il existe d'autres outils intégrés (ROBOCOPY) pour cloner des fichiers en local.

C'est quoi cette écriture soulignée?
Pourquoi mettre un lien vers un truc à télécharger dans ton message ? et quel rapport avec ton message ?

Écrit par : baron 25 Jun 2018, 13:28

Citation (teddy7545 @ 2 Jun 2018, 17:53) *
C'est quoi cette écriture soulignée?
Pourquoi mettre un lien vers un truc à télécharger dans ton message ? et quel rapport avec ton message ?

Technique de spammeur pour masquer les liens…  rolleyes.gif

mad.gif

Propulsé par Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)