rsync caracteres não-ascii

6

Estou usando o rsync para fazer backup dos arquivos do meu site, usando --link-dest para copiar do backup anterior do rsync.

rsync -zavx -e 'ssh -p22' \
   --numeric-ids \
   --delete -r \
   --link-dest=../"$latest_backup" "$rhost:$rhost_source" "$local_dest";

Tenho notado que arquivos com caracteres não ascii parecem ter seus caracteres convertidos, então o rsync está excluindo-os e, em seguida, baixando-os novamente.

Aqui está um exemplo:

deleting public_html/images/made/96096a4645d59a3e/Moulin_a?\#200_vent_Bourgogne_DBW1901_680_680_s_c1.jpg

public_html/images/made/96096a4645d59a3e/Moulin_à_vent_Bourgogne_DBW1901_1200_801_80.jpg

É possível impedir que o rsync converta os caracteres?

    
por ccdavies 17.06.2018 / 20:19

1 resposta

4

Precisa usar --iconv .

Na página de manual link

--iconv=CONVERT_SPEC 
 Rsync can convert filenames between character sets using this option. 
 Using a CONVERT_SPEC of lq.rq tells rsync to
 look up the default character-set via the locale setting. Alternately,
 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. This order ensures that the option will
 stay the same whether you're pushing or pulling files. Finally, you
 can specify either --no-iconv or a CONVERT_SPEC of lq-rq to turn off
 any conversion. The default setting of this option is site-specific,
 and can also be affected via the RSYNC_ICONV environment variable.
    
por 17.06.2018 / 22:52