rsync falha insidiosa

1

Estou tentando usar o rsync para fazer um diretório remoto idêntico à minha versão local, então eu faço algo como (com as "minhas" coisas abaixo adequadamente substituídas)

rsync -avhe 'ssh -p 7822' --progress --delete  \
    /mylocaldir myusername@myremotehost:~/myremotedir'

A saída do comando indica avisos, mas nenhuma mensagem de erro:

perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
    LANGUAGE = (unset),
    LC_ALL = (unset),
    LC_NUMERIC = "c",
    LANG = "fr_FR.UTF-8"
    are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
building file list ... 
70 files to consider
Online/index.html
         582 100%    0.00kB/s    0:00:00 (xfer#1, to-check=67/70)

sent 2.28K bytes  received 48 bytes  665.71 bytes/sec
total size is 919.11K  speedup is 394.47

Mas quando eu verifico no diretório remoto, nada foi atualizado. Eu tentei várias vezes. O que esta acontecendo aqui ? Qualquer ajuda apreciada.

Atualização, em resposta ao primeiro comentário abaixo: aqui está o conteúdo do meu arquivo / etc / profile:

# System-wide .profile for sh(1)

if [ -x /usr/libexec/path_helper ]; then
    eval '/usr/libexec/path_helper -s'
fi

if [ "${BASH-no}" != "no" ]; then
    [ -r /etc/bashrc ] && . /etc/bashrc
fi
    
por Ewan Delanoy 25.09.2017 / 10:31

1 resposta

2

rsync está em execução, portanto, a mensagem de erro do código do idioma não é crítica. Em vez disso, suspeito que suas duas definições de diretório não são exatamente o que você quer, e você pode estar procurando no lugar errado pelos arquivos.

Você tem uma fonte /mylocaldir e um destino ~/myremotedir . Isso criará ~/myremotedir/mylocaldir no destino e é onde os arquivos serão colocados.

Se você deseja que o conteúdo de /mylocaldir seja copiado para ~/myremotedir , é necessário fornecer um / no diretório de origem, assim:

rsync -avh -e 'ssh -p 7822' --progress --delete \
    /mylocaldir/ myusername@myremotehost:myremotedir

NB eu dividi o comando em duas linhas para facilitar a leitura. Conforme escrito, é uma sintaxe de shell válida, mas remova o caractere \ no final da primeira linha e junte-os se preferir.

A mensagem de erro perl sobre localidades será proveniente de algum programa executado como parte de seu processo de login. Pode ser path_helper , que parece ser um aplicativo MacOS, então não posso aconselhá-lo sobre a importância ou não de comentá-lo, ou pode ser algo em /etc/bashrc .

Em vez de tentar identificar o aplicativo ofensivo, outra opção, obviamente, é instalar os arquivos de código de idioma francês em seu sistema de destino, para que o erro não seja mais acionado.

    
por 25.09.2017 / 11:02

Tags