Por que o rsync não foi encontrado?

13
rsync -avP /home/user/.profile hpux3:/home/user/.profile
bash: rsync: command not found

Se eu fiz o ssh para a máquina hpux3

rsync  
version 3.1.1  protocol version 31
Copyright (C) 1996-2014 by Andrew Tridgell, Wayne Davison, and others.
Web site: http://rsync.samba.org/
output truncated

Eu defini PATH em $HOME/.profile e $HOME/.bashrc . Devo configurá-lo no arquivo /etc/profile ?

    
por elbarna 26.04.2015 / 23:35

1 resposta

23

Seu .profile é lido apenas quando você faz login interativamente. Quando o rsync se conecta a outra máquina para executar um comando, /etc/profile e ~/.profile não são lidos.

Se o seu login shell é bash, então ~/.bashrc pode ser lido (isso é uma peculiaridade do bash - ~/.bashrc é lido por shells interativos não-login, e em algumas circunstâncias por login de shells não interativos). Isso não se aplica a todas as versões do bash.

A maneira mais fácil de fazer o rsync funcionar é provavelmente passar a opção --rsync-path , por exemplo

rsync --rsync-path=/home/elbarna/bin/rsync -avP /home/user/.profile hpux3:/home/user/.profile

Se você efetuar login via SSH com autenticação baseada em chave, poderá definir a variável de ambiente PATH por meio do seu ~/.ssh/authorized_keys . Veja os arquivos de inicialização sh sobre o ssh para obter explicações sobre como organizar para carregar .profile ao efetuar login no SSH com uma chave.

    
por 26.04.2015 / 23:44

Tags