Problemas do conjunto de caracteres Rsync

5

Eu estou tentando fazer backup de uma caixa do Windows para uma caixa do Linux (Ubuntu 9.10) usando rsync na caixa Linux, e recebo erros de "arquivo desapareceu" para nomes de arquivos com caracteres incomuns nos nomes de arquivos. Eu recebo um erro semelhante ("nenhum tal arquivo ou diretório") se eu usar "cp" em vez de rsync. A fonte em um compartilhamento em uma caixa do Windows no idioma inglês.

Um dos caracteres é o caractere de apóstrofo.

Eu tenho jogado com várias opções --iconv mas não consegui resolver o problema. Sugestões?

    
por Nerdfest 06.01.2010 / 04:26

2 respostas

7

Você está montando o compartilhamento do Windows no Linux e, em seguida, usando o rsync para copiar arquivos localmente. Como você monta o compartilhamento?

O Windows deve armazenar nomes de arquivos em UTF8 ou UTF16, mas é necessário informar ao Linux para que ele possa montar o compartilhamento corretamente. Use uma opção de montagem como utf8 / utf16 ou iocharset=utf8 / iocharset=utf16 no seu comando mount:

mount -t cifs -o utf16,other,options,here //server/share /path/to/mount/point
              ^^^^^^^^
                   |
                   -- if utf16 doesn't help, try iocharset=utf16
                      utf8 or iocharset=utf8 may also work

Outros usuários estão indicando que o UTF16 tem maior probabilidade de estar correto.

    
por 06.01.2010 / 13:15
0

Uma maneira de contornar isso é - para os diretórios limitados com nomes de arquivos de caracteres especiais, zipar ou tar o diretório e rsync com uma exclusão para esse diretório (mas incluindo o arquivo zip / tar).

    
por 06.01.2010 / 04:37