Por que o rsync não foi encontrado?


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

Se eu fiz ssh na 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

Tenho posto PATHem $HOME/.profilee $HOME/.bashrc. Devo defini-lo no /etc/profilearquivo?


O rsynccomando deve estar presente na sua máquina local.
procurando

1
Claro está presente em ambas as máquinas
elbarna

Respostas:


26

Você .profilesó é lido quando você efetua login interativamente. Quando o rsync se conecta a outra máquina para executar um comando /etc/profilee ~/.profilenão é lido.

Se o seu shell de login for bash, ~/.bashrcpoderá ser lido (isso é uma peculiaridade do bash - ~/.bashrcé lido por shells interativos que não são de login e, em algumas circunstâncias, shells não interativos de login). 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 --rsync-pathopção, por exemplo

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

Se você efetuar logon no SSH com autenticação baseada em chave, poderá definir a PATHvariável de ambiente através do seu ~/.ssh/authorized_keys. Consulte sh arquivos de inicialização pelo ssh para obter explicações sobre como organizar o carregamento .profileao efetuar login no SSH com uma chave.


7
Nota: --rsync-pathé usado para definir o caminho rsyncno computador remoto . (à primeira vista eu queria saber como era possível especificar o caminho para rsyncenquanto lançando rsyncna mesma máquina)
AL

@Gilles 'SO- stop be evil' Alguma idéia de por que eu tenho que fazer isso? Bash não é meu shell padrão. Ksh é o meu shell padrão. Eu entro no ksh e depois mudo para o bash.
Cokedude

@cokedude Se o rsync estiver instalado na sua conta e não no nível do sistema, você precisará fazer algumas configurações na sua conta para poder usá-lo. Não basta colocar o rsyncbinário em algum lugar: você também precisa providenciar para que ele seja encontrado.
Gilles 'SO- stop be evil'
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.