Eseguo rsync tramite un crontab ogni notte per creare un backup offsite dello stato di una directory, roba abbastanza banale in realtà. Durante il controllo dei log, ho notato che in particolare c'erano un insieme di file che venivano sempre cancellati dalla destinazione e ricopiati ogni volta che veniva eseguito il comando rsync. Ulteriori indagini mostrano che tutti i nomi dei file avevano Unicode.
Guardando solo uno dei file, sono tutte varianti, ecco il nome del file. Nota il carattere accentato: Classici. . . Lè Tour Guide Training Guide.pdf
Questo appare come questa sequenza nei registri (una cancellazione e la nuova copia):
deleting ./Classics. . .Le\#314\#200 Tour Guide.ppt
./Classics. . . L\#303\#250 Tour Guide Training Guide.pdf
Sono abbastanza sicuro di sapere cosa sta succedendo. Il primo sta prendendo la lettera e
e aggiungendo un accento su di essa. Il secondo utilizza un glifo stesso con l'accento è
. Visivamente, sono uguali.
Quello che non capisco è perché rsync non conserva solo ciò che il nome del file è effettivamente.
Uso la versione 29 del protocollo v2.6.9 di rsync su OS X Yosemite v10.10.5 per parlare con le versioni del protocollo v3.1.0 rsync 31 su Ubuntu 14.04.4 LTS.
La riga di comando di OS X è:
/usr/bin/rsync -zaHv --progress --delete [email protected]:/src /Volumes/DstDrive/dst'
C'è un modo per ottenere rsync per mantenere i nomi dei file così com'è?
Si tratta di un bug in rsync?